Python request庫初使用及學習記錄

2021-10-02 09:45:44 字數 3067 閱讀 9279

基礎方法

異常問題

爬取****的排行榜

官方文件傳送

引數說明

requests.get()

獲取html網頁的主要方法,對應於http的get

requests.head()

獲取html網頁頭資訊的方法,對應於http的head

requests.post()

向html網頁提交post請求的方法,對應於http的post

requests.put()

向html網頁提交put請求的方法,對應於http的put

requests.patch()

向html網頁提交區域性修改請求,對應於http的patch

requests.delete()

向html頁面提交刪除請求,對應於http的delete

引數說明

1) params

字典或位元組序列格式,將作為引數增加到url中。

2) data

data引數的物件一般是字典型別,在發出請求時會自動編碼為表單形式。也可以是位元組序列或檔案物件,作為request的內容。

3) json

json格式的資料,作為request的內容。json引數會自動將字典型別的物件轉換為json格式。

4) headers

字典格式,為請求新增 http 頭部資訊,模擬瀏覽器進行訪問。headers是解決requests請求反爬的方法之一。 headers中有很多內容,常用的是user-agent 和 host。

5) cookies

cookies引數為字典格式的資料或cookiejar 什麼是cookie? 當使用者通過瀏覽器首次訪問乙個網域名稱時,訪問的web伺服器會給客戶端傳送資料,這些資料就是cookie,它是為了辨別使用者身份而儲存在使用者本地終端上的資料。cookie大部分都是加密的,cookie存在於快取中或者硬碟中,在硬碟中的是一些文字檔案,當訪問該**時,就會讀取對應的**的cookie資訊。一般來說,一旦將cookie儲存在計算機上,則只有建立該cookie的**才能讀取它。

6) auth

身份驗證。將使用者名稱和密碼以元組形式傳遞給auth引數時,rqeuests 將使用http的認證功能來應用憑據。

7) files

傳輸檔案。支援在乙個請求中傳送多個檔案。

8) timeout

用於解決請求超時的問題。以秒為單位限制請求時間,如果伺服器在設定的請求時間內沒有應答,將引發乙個異常。

9) proxies

字典型別,設定訪問**伺服器,可以增加登陸認證。

10) allow_redirects

重定向開關:true / false。預設為true,允許重定向;false禁止重定向。

11) stream

12) verify

請求驗證ssl證書開關:true / false,預設為true。

13) cert

本地ssl證書路徑。用於指定乙個本地有效安全證書作為客戶端證書。

屬性說明

r.status_code

http請求的返回狀態,200表示連線成功,404表示失敗

r.text

http響應內容的字串形式,即,url對應的頁面內容

r.encoding

從http header中猜測的響應內容編碼方式

從內容分析出的響應內容編碼方式(備選編碼方式)

r.content

http響應內容的二進位制形式 方法

說明requests.request()

構造乙個請求,支撐一下各方法的基礎方法

http協議對資源的操作

方法說明

get請求獲取url位置的資源

head

請求獲取url位置資源的響應訊息報告,即獲得該資源的頭部資訊

post

請求向url位置的資源後附加新的資料

put請求向url位置儲存的乙個資源,覆蓋原url位置的資源

patch

請求區域性更新url位置的資源,即改變該處資源的部分內容

delete

請求刪除url位置儲存的資源

r = requests.request(

'get'

, url,

**kwargs)

r = requests.request(

'head'

, url,

**kwargs)

r = requests.request(

'post'

, url,

**kwargs)

r = requests.request(

'put'

, url,

**kwargs)

r = requests.request(

'patch'

, url,

**kwargs)

r = requests.request(

'delete'

, url,

**kwargs)

r = requests.request(

'options'

, url,

**kwargs)

就是說, 通過 requst庫中的request這個基礎的方法, 實現了 request庫對 http 基本操作的方法的封裝, 我們只需要簡單的使用封裝好的方法即可

異常說明

requests.connectionerror

網路連線錯誤異常,如dns查詢失敗、拒絕連線等

http錯誤異常

requests.urlrequired

url缺失異常

requests.toomangredirects

超過最大重定向次數,產生重定向異常

requests.connecttimeout

連線遠端伺服器超時異常

requests.timeout

請求url超時,產生超時異常

r.raise_for_status()

如果不是200,產生異常requests.httperror

Python Request庫的使用

requests庫是乙個簡潔且簡單的http請求的第三方庫,它的優點是程式編寫過程更接近正常url訪問過程。網路爬蟲和資訊提交只是requests庫能支援的基本功能。其中,與網頁請求相關的函式如下表 函式描述 get url timeout n 對應於http的get方式,獲取網頁最常用的方法,可以...

python Request庫的get 方法

1.request庫的get 方法 最通常的方法是通過r request.get url 構造乙個向伺服器請求資源的url物件。這個物件是request庫內部生成的。這時候的r返回的是乙個包含伺服器資源的response物件。包含從伺服器返回的所有的相關資源。url是什麼?url是通過http協議訪...

Python Request庫的介面測試例項

檢查http響應 requests處理session cookie 介面測試概要安裝requests庫pip3 install requests構建http請求 urlencoded格式 後面的都是url的引數,每個引數之間是用 隔開的 一般寫法 response requests.get 如果ur...