说起urllib,我想每个会写爬虫或者说听过爬虫的人都不陌生,它是爬虫的基本和常用库之一,我们今天就来从头到尾了解下。
一、什么是Urllib
1、Python的内置HTTP请求库,常用模块如下
(1)Urllib.request 请求模块(用来整理和发送请求)
(2)Urllib.error 异常处理模块
(3)Urllib.parse url解析模块
(4)Urllib.robotparser robots.txt解析模块
后面的内容我们再来详细介绍这几个模块的基本用法。
二、Python3相比Python2的变化
其实Python3中的urlopen这个函数方法在Python2中属于urllib2这个库,在Python3中移动到了urllib.request这个模块中,这是最明显的一个变化,还有其他变化,我们就不一一列举了。
三、常用模块的基本用法
1、Urlopen
(1)发送请求给服务器,第一个参数为网站的url,第二个参数为额外的数据,也就是post时候的数据,第三个参数超时的设置,具体看下面的示例:
(2)响应response
①响应类型
②状态码status获取
③响应头getHeaders获取
④Read方法,获取响应内容
2、Request:浏览器发送消息给网址所在的服务器
3、Handler
(1)代理:使用代理IP取代我们自己的IP,这样不断更换新的IP地址就可以达到快速爬取网页而降低被检测为机器人的目的
(2)Cookie:用来维持登陆状态的机制
4、异常处理
(1)请求不存在的网页会提示404
(2)先捕捉http的error,在捕捉异常原因
5、URL解析
(1)Urlparse:将url划分为六个标准的url结构
(2)Urlunparse:将url进行拼接
(3)Urljoin:用来拼接url的
(4)Urlencode:字典对象转换为get请求参数
好了,介绍到这里,我想大家也都了解的差不多了,可以具体到自己的电脑上去实践下。
毕竟实践才是检验真理的唯一标准。