推薦學習:
Requests模組是一個用於網路請求的模組,主要用來模擬瀏覽器發請求。其實類似的模組有很多,比如urllib,urllib2,httplib,httplib2,他們基本都提供相似的功能。但是這些模組都複雜而且差不多過時了,requests模組簡單強大高效,使得其在眾多網路請求模組中脫引而出。
環境安裝:pip install requests
使用流程:
案例:爬取百度首頁的資料
#1. 導包 import requests #2. 指定url url = "https://www.baidu.com" #3. 使用GET方法傳送請求,該方法會返回一個響應物件 response = requests.get(url=url) #4. 獲取響應資料 print(response.status_code) # 列印狀態碼 print(response.url) # 列印請求url print(response.headers) # 列印響應頭頭資訊 print(response.text) #以文字形式列印網頁原始碼 #儲存資料 response.encoding = 'utf-8' #指定編碼格式,不然開啟亂碼 text = response.text with open('./2.html','w',encoding='utf-8') as f: f.write(text)
解決requests請求的資料中文亂碼問題——》requests請求返回內容 中文亂碼問題
上面的案例requests傳送了一個GET請求方法,除此之外還有其他的請求方法。最常用的就是GET和POST方法。
- res = requests.get ()
- res = requests.post ()
- res = requests.put ()
- res = requests.delete ()
- res = requests.head ()
- res = requests.options ()
且在指定方法傳送請求的時候,有時候還需要在請求方法括號中requests.get(url=url, xx = xx)指定一些引數,如下。先了解一下
方法 | 引數名字 |
HTTP頭部 | headers |
GET引數 | params |
POST引數 | data |
檔案 | files |
Cookies | cookies |
重定向處理 | allow_ redirects = False/True |
超時 | timeout |
證書驗證 | verify = False/True |
工作流(延遲下載) | stream=False/ True |
事件掛鉤 | hooks=dict(response=) |
身份驗證 | auth= |
代理 | proxies= |
在上面爬取百度首頁時,response = requests.get(url=url)其返回的是一個響應物件,而如果我們想要獲取具體的資料比如響應碼或者網頁原始碼時,就需要通過指定響應物件的屬性進行獲取。如response.status_code獲取響應碼
- 獲取請求url res. url
- 狀態碼 res. status_code
- 響應資料(以字串形式) res . text
- 返回的是一個原生字串,是bytes型別 res. content
- 檢視伺服器響應頭 res. headers
- 檢視cookie res.cookies
推薦學習:
以上就是範例詳解python之requests模組的詳細內容,更多請關注TW511.COM其它相關文章!