基礎方法
異常問題
爬取****的排行榜
官方文件傳送
引數說明
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...