- 發起請求
- 接收響應
- session對象
發起請求
請求方法
get、post、head、options、delete、put
傳遞URL參數
構造一個字典,並在請求時將其傳遞給params參數
提交數據時,遇到相同的參數名,但有不同的值,而python的字典又不支持鍵的重名,可以把鍵的值用列表表示
自定義Headers
自定義Cookies
在headers中添加
cookies參數(必須為字典形式)
設置代理(proxies參數)
重定向
allow_redirects=False 禁止重定向
history 屬性可以查看歷史記錄,從哪個網站過來的,重定向過來的會顯示重定向的狀態碼
禁止證書驗證
把verify參數設置為False
禁止證書驗證后,會有warning
關閉警告
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
設置超時 timeout屬性
以流形式下載 stream=True
接收響應
響應內容
text屬性,返回的是文本內容
字符編碼
Requests會自動的根據響應的報頭來猜測網頁的編碼是什么,然后根據猜測的編碼來解碼網頁內容,基本上大部分的網頁都能夠正確的被解碼
而如果發現text解碼不正確的時候,就需要自己手動的去指定解碼的編碼格式
二進制數據
如果需要獲得原始的二進制數據,那么使用content屬性即可
json數據
如果訪問之后獲得的數據是JSON格式的,那么可以使用json()方法,直接獲取轉換成字典格式的數據
狀態碼
通過status_code屬性獲取響應的狀態碼
響應報頭
headers屬性
服務器返回的cookies
cookies屬性
查看訪問的url
url屬性
Session對象
在Requests中,實現了Session(會話)功能,當我們使用Session時,能夠像瀏覽器一樣,在沒有關閉瀏覽器時,能夠保持住訪問的狀態
這個功能常常用於登陸之后的數據獲取,使我們不用再一次又一次的傳遞cookies
首先生成一個Session對象,然后用這個Session對象來發起訪問,發起訪問的方法與正常的請求一摸一樣
需要注意的是,如果是在get()方法中傳入headers和cookies等數據,那么這些數據只在當前這一次請求中有效
如果想要讓一個headers在Session的整個生命周期內都有效的話,需要進行設置:session.headers.updata(headers)