一、urllib.urlopen
1、urlopen
from urllib import request r = request.urlopen('http://www.baidu.com/') # 获取状态码 print(r.status) # 获取相应头 print(r.getheaders()) print('=' * 30) # 获取网页源码 print(r.read().decode('utf-8'))
注意:urlopen() 含有data(bytes类型)的是post请求,timeout超时
2、Request
from urllib import request # 创建请求对象 req = request.Request('https://www.cnblogs.com/') # 打开网页 r = request.urlopen(req) print(r.read().decode('utf-8'))
注意:data(bytes,dict->str->bytes),headers={}, method=
使用Handler实现验证、Cookies、代理等功能
二、urllib.error
处理异常
from urllib.error import URLError, HTTPError
使用try....except进行处理
注意:HTTPError是URLRrror的子类
三、urllin.parse
解析
urlparse() urlunparse() urlsplit() urlunsplit() urljoin() urlencode() # 序列胡parse_qsl() # 反序列化 结果 [('name', 'tom'), ('age', 24)] 可以使用dict->字典格式 quote() unquote()
四、 Robot协议
robot.txt文件,爬虫界的君子协议