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才能显示出正确的内容,否则是乱码。
好了,今天的教程先到这里。下期见!
原文地址:https://www.cnblogs.com/shuaiqi-XCJ/p/8977128.html