Requests 笔记


添加User-Agent

# 默认 User-Agent: 'python-requests/2.18.4', 默认的很容易被屏蔽, 自定义一个User-Agent是个好爬虫的基本素质。

# 常用 User-Agent:
ua_IE10 = 'Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; Trident/5.0)'
ua_iPhone6 = 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25'
ua_Win_Firefox = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20120101 Firefox/33.0'
ua_Mac_FireFox = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0'

# 一些冷门 User-Agent:
ua_w3m = 'w3m/0.5.3+git20180125' # 纯文本浏览器w3m
ua_curl = 'curl/7.58.0' # URLs数据传输工具curl
ua_eww = 'URL/Emacs' # Emacs内置浏览器eww

headers = {'User-Agent': headers_IE10}
r = requests.get(url = 'http://spaceack.com/', headers = headers)
---

中文乱码

# 中文优先选择 gb18030, gb18030 是gb2312, gbk的超集

# 第一种方案: 指定Response.encoding,
r.encoding = 'gb18030' # 不指定encoding, 会用'chardet'猜测编码,意味着很可能会出错!
r.text                 # 返回 unicode

# 第二种方案: content 返回bytes类型, 以'gb18030'编码格式解码bytes对象
r.content.decode('gb18030')

未完待续...

发布时间:
2018-07-12 22:02
分类:
标签: