範例詳解python之requests模組

2022-03-15 19:00:29
本篇文章給大家帶來了關於的相關知識,其中主要介紹了requests模組的相關問題,Requests模組是一個用於網路請求的模組,主要用來模擬瀏覽器發請求,希望對大家有幫助。

推薦學習:

Requests模組是一個用於網路請求的模組,主要用來模擬瀏覽器發請求。其實類似的模組有很多,比如urllib,urllib2,httplib,httplib2,他們基本都提供相似的功能。但是這些模組都複雜而且差不多過時了,requests模組簡單強大高效,使得其在眾多網路請求模組中脫引而出。

requests使用

環境安裝:pip install requests

使用流程:

  • 指定url
  • 基於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請求方法

上面的案例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=

requests響應物件屬性

在上面爬取百度首頁時,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其它相關文章!