Python简单爬虫第一蛋!

Posted 星辰戟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python简单爬虫第一蛋!相关的知识,希望对你有一定的参考价值。

Python爬虫简单教程

一、准备工作:

①python 3.x 的环境

②Windows 10 操作系统

③能连接上互联网

二、注意事项:

①仅供参考学习,如有转载请注明出处!

②获取的数据不能用于商业应用,仅供学习。

③注意动手实践。

 

第一讲:第一个模块(requests)的使用教程

  首先,需要安装一下requests 模块,这个在系统命令行(cmd)中用

  pip install requests 命令完成。(这是很基本的操作,直接跳过哈)

  然后打开我们的IDE(这里我用的是Spyder,也可以用Python自带的Python shell来实现)。

 

  我在IPython中输入:

  import requests

  help(requests)

  以此来检查requests模块的安装是否成功,最终看到requests模块的版本(VERSION)是2.18.4。

 

  好,现在我们就来学习requests模块中的一个重要的函数:

  requests.get()

  例子:

  r = requests.get(\'http://www.hao123.com\')

  r是函数返回的一个Response对象,基于该类型的对象,我们还有更多的函数可以调用,现在我们先学上面的get()方法。

  get()方法的参数很简单,就是一个url链接的字符串,这里选取好123网页导航来作为我们爬取的对象。

  接下来我们加快步伐了,哈哈哈!

  Resoponse对象的status_code属性可以返回获取网页的结果,text属性可以查看返回的内容,也就是我们爬取到的内容。

  看图:

 

  200表示成功,下面就打印出前500个字符的内容。

  已经跨出了我们的第一大步了,哈哈哈。

  下面整理出Requests模块的主要方法:

方法

说明

requests.request()

构造一个请求,支持下面方法的使用

requests.get()

获得HTML网页的主要方法

requests.head()

获取HTML网页头信息的方法

requests.post()

向HTML网页提交POST请求的方法

requests.put()

向HTML网页提交PUT请求的方法

requests.patch()

向HTML网页提交局部修改请求

requests.delete()

向HTML网页提交删除请求

 

  下面详细说明requests.get()方法

  requests.get(url,params=None,**kwargs)

  url:获取页面的url链接

  params:url中额外参数,可选

  **kwargs:12个控制访问的参数

 

  这些先留个悬念,日后再讲。

  下面介绍一个爬取网页的通用代码框架:

  看代码:

 1 \'\'\'通用代码框架\'\'\'
 2 
 3 import requests
 4 
 5  
 6 
 7 def getHTML_Text(url):
 8 
 9     try:
10 
11         r = requests.get(url,timeout = 20)
12 
13         r.raise_for_status() #如果状态不是200,则产生异常
14 
15         r.encoding = r.apparent_encoding
16 
17         return r.text
18 
19     except:
20 
21         return \'产生异常\'
22 
23  
24 
25 if __name__ == \'__main__\':
26 
27     url = \'http://www.hao123.com\'
28 
29     print(getHTML_Text(url))

  r.raise_for_status() 是判定网页是否链接成功,如果是200 则可以进行下一步,如果不是200,则产生异常,进行异常处理。

 

  最后讲一下r.encoding = r.apparent_encoding 语句

  r.encoding 是从HTTP header中猜测的响应内容编码方式。

  r.apparent_encoding 是从内容分析出的响应内容编码方式。

  为了避免出现编码错误问题,就用该语句设置一下响应内容的编码形式,return r.text才能显示出正确的内容,否则是乱码。

  好了,今天的教程先到这里。下期见!

 

以上是关于Python简单爬虫第一蛋!的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

scrapy主动退出爬虫的代码片段(python3)

python爬虫简单问题,HTML对象的定位问题?

七月算法《python爬虫》第一课:Python爬虫小示例

python 简单爬虫(beatifulsoup)

爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别