Requests庫的使用

  1. 發起請求
  2. 接收響應
  3. session對象

發起請求python

請求方法json

get、post、head、options、delete、put瀏覽器

 

傳遞URL參數服務器

構造一個字典,並在請求時將其傳遞給params參數cookie

提交數據時,遇到相同的參數名,但有不一樣的值,而python的字典又不支持鍵的重名,能夠把鍵的值用列表表示session

 

自定義Headerspost

 

自定義Cookies網站

在headers中添加編碼

cookies參數(必須爲字典形式)url

 

設置代理(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)

相關文章
相關標籤/搜索