官網: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)