Requests庫的使用


  1. 發起請求
  2. 接收響應
  3. 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)

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM