Python Requests庫簡單入門

2022-01-11 14:02:54 字數 2917 閱讀 1970

我對python網路爬蟲的學習主要是基於中國慕課網上嵩天老師的講授,寫部落格的目的是為了更好觸類旁通,並且作為學習筆記之後複習回顧。

requests 庫是乙個簡潔且簡單的處理http請求的第三方庫。

requests的最大優點是程式編寫過程更接近正常url 訪問過程。

這個庫建立在python 語言的urllib3 庫基礎上,類似這種在其他函式庫之上再封裝功能提供更友好函式的方式在python 語言中十分常見。在python 的生態圈裡,任何人都有通過技術創新或體驗創新發表意見和展示才華的機會。

採用pip指令安裝requests庫:

\>pip install requests

測試;

request庫的7個主要方法

方法說明

requests.request()

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

requests.get()

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

requests.post()

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

requests.head()

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

requests.put()

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

requests.patch()

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

requests.delete()

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

requests.get(url, params=none, **kwargs)

url : 擬獲取頁面的url鏈結

params : url中的額外引數,字典或位元組流格式,可選

**kwargs: 12個控制訪問的引數

get方法的原碼

實際上get方法是用request方法來封裝的,其他六種方法也是,根本上只有一種request方法!!!

requests庫的2個重要物件:

response物件包含伺服器返回的所有資訊,同時也包含向伺服器請求的request資訊。

response物件屬性

屬性    

說明r.status_code

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

r.text

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

r.encoding

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

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

r.content

http響應內容的二進位制形式(的還原)

r.encoding:如果header中不存在charset,則認為編碼為iso‐8859‐1(這種編碼並不能解析中文!!!)

r.text根據r.encoding顯示網頁內容

response庫的異常

異常說明

requests.connectionerror

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

http錯誤異常

requests.urlrequired

url缺失異常

requests.toomanyredirects

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

requests.connecttimeout

連線遠端伺服器超時異常

requests.timeout

請求url超時,產生超時異常(發憷請求到獲得內容整個過程)

raise_for_status()方法:

raise_for_status()方法能在非成功響應後產生異常,即只要返回的請求狀態status_code 不是200,這個方法會產生乙個異常,用於try…except 語句。

使用異常處理語句可以避免設定一堆複雜的if 語句,只需要在收到響應呼叫這個方法,就可以避開狀態字200以外的各種意外情況。

1

import

requests

2def

gethtmltext(url):

3try

:4 r = requests.get(url, timeout=30)

5 r.raise_for_status() #

如果狀態不是200, 引發httperror異常

7return

r.text

8except:9

return

"產生異常"10

11if

__name__=="

__main__":

12 url = "

"13print(gethtmltext(url))

離線安裝python requests庫

requests 2.19.1 certifi required 2017.4.17,installed 2018.4.16 ca認證模組 chardet required 3.1.0,3.0.2,installed 3.0.4 通用字元編碼檢測器模組 idna required 2.8,2.5,i...

python Requests庫入門(一)

1 搜尋cmd,以管理員的身份執行 2 輸入pip install requests 截圖所示便代表已安裝好 3 開啟idle進行簡單測試 import requests r requests.get r.status code 200 此時返回值狀態碼應是200,200表示訪問成功 下面繼續 r....

python requests庫的使用

如果auth使用不通過的話,可以再header加入cookie header data request請求 response requests.request get url,params params,headers headers,auth auth session 請求 session req...