官网:http://docs.python-requests.org
使用会话打开网页
会话对象能够跨请求保持某些参数,会在同一个 Session 实例发出的所有请求之间保持 cookie。如果向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升。
import requests
s = requests.Session()
# 模仿Chrome浏览器
s.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:50.0) Gecko/20100101 Firefox/50.0'})
s.headers.update({'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'})
s.headers.update({'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'})
s.headers.update({'Upgrade-Insecure-Requests': '1'})
# 打开一个网页
r = s.get('http://httpbin.org/headers')
print r.text
页面乱码的处理
Requests 会自动识别网页的字符编码,但有时识别错误会出现乱码,这时根据页面中的charset=gb2312
中的字符编码进行设置即可:
r = requests.get('http://www.foo.cn')
r.encoding='gb2312'
下载小文件,如图片等
r = requests.get('http://www.foo.com/foo.jpg')
open('foo.jpg', 'wb') as f:
f.write(response.content)
网友评论