您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Python requests模塊怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python requests模塊怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
首先呢,我們要確保我們已經之前安裝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等等。
讀到這里,這篇“Python requests模塊怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。