首先呢,我們要確保我們已經之前安裝requests函式庫,如果沒有安裝,請按照下面步驟按照資料庫。
無論是 Windows、Linux 或 Mac,都可以透過 pip 這個套件管理工具來安裝。
在命令列下執行以下指令即可完成 requests 函式庫的安裝:
pip3 install requests
這是最簡單的安裝方式,推薦此種方法安裝。
為了驗證庫是否已經安裝成功,可以在命令列下測試一下:
import requests res = requests.get('https://www.baidu.com/') print(res)
輸入如上內容,如果什麼錯誤提示也沒有,那麼就證明我們已經成功安裝了requests。
requests庫請求網頁用到的是get()方法,下面透過實例來看一下。
import requests res = requests.get('https://www.baidu.com/') print(type(res)) print(res) print(res.text) print(res.cookies)
這裡我們呼叫get()方法實現,得到一個response對象,然後分別輸出response的類型,狀態碼,內容以及cookies。
只能成功地使用get()方法發起一個get()請求並不奇怪,還有其他更方便的請求可供使用。例如post(),put()等等。
HTTP最常見的請求之一就是GET請求,下面我們先來了解利用requests建構GET的方法
首先,我們建立一個最簡單的get請求,請求的連結如下,網站會判斷如果使用者發起的的是get請求的話,它就會回傳回應的請求資訊
import requests res = requests.get('http://httpbin.org/get') print(res.text)
運行的結果如下:
{ "args": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.27.1", "X-Amzn-Trace-Id": "Root=1-637ae5d7-35da1bf57b139d152585d12a" }, "origin": "223.215.67.113", "url": "http://httpbin.org/get" }
可以發現,我們成功發起了get請求,返回結果中包含請求頭,url,IP等資訊。
那麼,對於GET請求,如果我們想要附加額外信息,一般要怎麼添加呢?例如講,現在想增加兩個參數,其中name是Tina,age是18。要建構這個請求鏈接,是不是可以直接寫成:
r = requests.get('http://httpbin.org/get?name=Tina&age=18')
這樣也是可以的,我們還可以透過字典來建構。利用params這個參數就好了。
import requests data = { 'name':'Tina', 'age':'18' } res = requests.get('http://httpbin.org/get',params = data) print(res.text)
運行結果如下:
{ "args": { "age": "18", "name": "Tina" }, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.27.1", "X-Amzn-Trace-Id": "Root=1-637ae902-695483e87b26b3ad49d15df7" }, "origin": "223.215.67.113", "url": "http://httpbin.org/get?name=Tina&age=18" }
透過執行結果判斷,請求的連結自動變成了帶有後綴的連結。
此外,實際上網頁回傳的是字串類型(str),但是其格式為json(),我們可以使用json來傳回一個字典。如果不是json格式,使用json就會報錯,拋出json.decoder.JSONDecodeError異常。
除了最基本的get請求,還有一個比較常見的請求方式是post().。使用requests實作post請求也是非常簡單,範例如下。
import requests res = requests.post('http://httpbin.org/post') print(res.text)
運行之後就會發現得到了結果,就表示我們post請求成功。
發送請求,之後得到的肯定就是回應。除了text,還有狀態碼,回應頭,cookies等等。
requests 庫可以用來傳送 HTTP 請求並取得回應。發送 HTTP 請求後,從伺服器傳回的所有資料都會包含在 Response 物件中。 Response 物件有以下屬性:
status_code:HTTP 狀態碼,表示伺服器的回應狀態。
headers:一個字典,其中包含了從伺服器傳回的所有頭部資訊。
body:一個位元組串,包含了從伺服器傳回的所有資料。
以上是Python之requests怎麼安裝使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!