一, 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 协议
robotparser 解析 robot.txt 文件
来源: http://www.bubuko.com/infodetail-3296936.html