Urllib简介
Urllib是Python自带的标准库,无需安装直接可以调用。在Python 2和Python 3中,Urllib在不同版本中的语法有改变。Python 2分为Urllib和Urllib2,Urllib2可以接收一个Request对象,并以此设置一个URL的Headers,但是Urllib只接收一个URL。Urllib模块提供进行Urlencode的方法,该方法用于GET查询字符串的生成,Urllib2不具备这样的功能。在Python 3中,Urllib模块是一堆可以处理URL的组件集合,就是将Urllib和Urllib 2合并在一起使用,并且命名Urllib。
在Python 3中,Urllib具备的功能。
- urllib.request:用于打开和读取URL。
- urllib.error:包含提出的例外urllib.request。
- urllib.parse:用于解析URL。
- urllib.robotparser:用于解析robots.txt文件。
发送请求(urlopen)
urllib.request.urlopen语法如下:
urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)
urllib是用于访问URL的办法。
[参数说明]
- url:需要访问的网站url地址。
- data:默认为None代表请求方式为GET,若不为None则为Post请求。
- timeout:超时设置,指定阻塞操作。
- cafile、capath和cadefault:指定一组HTTPS请求的可信CA证书。分别为cafile:一组CA证书的单个文件、capath:指向证书文件的目录、cadefault默认值。
- context:描述SSL选项实例。
当对网站发出请求时,网站会返回相应的响应内容。urlopen对象提供获取网站响应内容的方法函数,如下。
- red()、readline()、readlines()、fileno()和close():对HTTP响应类型数据的操作。
- info():返回HTTPMessage对象,表示远程访问服务器返回的头信息。
- getcode():返回HTTP的状态码。
- geturl():返回请求的url。
发送请求(Request)
urllib.request.Request语法如下:
urllib.request.Request(url,data=None,headers={},method=None)
声明一个Request对象,该对象可自定义header。
[参数说明]
- url:需要访问的网站url地址。
- data:默认为None代表请求方式为GET,若不为None则为Post请求。
- headers:设置请求头信息。
- method:设置请求方式。
在Python 2和Python 3中,urllib语法有些不同。下面是一些常用的语法。
上面我写了两种。我想其他的几种,对于各位大佬而言都是小意思,在此小生便不在赘述。有兴趣的朋友请自己查找有关资料。