(1) urllib 是 Python 内置的 HTTP 请求库,用来向服务器发送 HTTP 请求
(2) 在 Python2.x 中,有 urllib 和 urllib2 两个模块;在 Python3.x 中,urllib2 合并到了 urllib 中
(3) 在 Python2.x 中使用 import urllib, urllib2 ;在 Python3.x 中使用 import urllib
(4) 在 Python2.x 中使用 urllib2.urlopen ;在 Python3.x 中使用 urllib.request.urlopen
(5) 在 Python2.x 中使用 urllib2.Request ;在 Python3.x 中使用 urllib.request.Request
(6) 在 Python2.x 中使用 urllib.quote ;在 Python3.x 中使用 urllib.request.quote
(7) 在 Python2.x 中使用 cookielib.CookieJar ;在 Python3.x 中使用 http.CookieJar
(8) 在 Python2.x 中使用 urllib.urlencode ;在 Python3.x 中使用 urllib.parse.urlencode
(1) urllib.request:最基本的HTTP请求模块,用来模拟发送请求,就像在浏览器里输入网址然后回车一样
(2) urllib.error:异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作以保证程序不会意外终止
(3) urllib.parse:一个工具模块,提供了许多 URL 处理方法,比如拆分、解析、合并等
(4) urllib.robotparser:主要是用来识别网站的 robots.txt 文件,然后判断哪些网站可以爬,哪些网站不可以爬,它其实用得比较少
使用 urllib 的 request 模块提供了最基本的构造HTTP请求的方法,使用它可以实现请求的发送并得到相应,常用方法如下:
(1) urllib.request.urlopen(url, data=None, timeout=n) 用于发送HTTP请求并得到相应
In [1]: import urllib.request In [2]: response = urllib.request.urlopen("http://www.baidu.com/") //发送HTTP请求 In [3]: response.read().decode(‘utf-8‘) //read()方法用于获取响应内容,readline(),readlines()也可以 In [4]: response.status //status属性用于获取响应状态码 In [5]: response.getcode() //getcode()方法用于获取响应状态码 In [6]: response.geturl() //geturl()方法用于获取请求的源地址 In [7]: response.getheaders() //getheaders()方法用于获取响应头信息 In [8]: response.getheader(‘Server‘) //getheader()方法用于获取指定的响应头信息
(2) urllib.request.Request()
原文:https://www.cnblogs.com/pzk7788/p/10515677.html