Python requests模塊用法詳解
大家好,今天就來說說requests的基礎(chǔ)用法。
1.準備工作
首先呢,我們要確保我們已經(jīng)之前安裝requests庫,如果沒有安裝,可以自行搜索。
2.實例引入
requests庫請求網(wǎng)頁用到的是get()方法,下面通過實例來看一下。
import requests
res = requests.get('https://www.baidu.com/')
print(type(res))
print(res)
print(res.text)
print(res.cookies)
這里我們調(diào)用get()方法實現(xiàn),得到一個response對象,然后分別輸出response的類型,狀態(tài)碼,內(nèi)容以及cookies。
使用get()方法成功實現(xiàn)一個get()請求這不算什么,更方便的請求還有其他的。比如post(),put()等等。
3.get()請求
HTTP最常見的請求之一就是GET請求,下面我們首先先來了解一下利用requests構(gòu)建GET的方法
基本實例
首先,我們構(gòu)建一個最簡單的get請求,請求的鏈接如下,該網(wǎng)站會判斷如果用戶發(fā)起的的是get請求的話,它就會返回響應(yīng)的請求信息。
import requests
res = requests.get('http://httpbin.org/get')
print(res.text)運行的結(jié)果如下:
{
"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"
}
可以發(fā)現(xiàn),我們成功發(fā)起了get請求,返回結(jié)果中包含請求頭,url,IP等信息。
那么,對于GET請求,如果我們想要附加額外信息,一般怎么添加呢?比如講,現(xiàn)在想添加兩個參數(shù),其中name是Tina,age是18。要構(gòu)造這個請求鏈接,是不是可以直接寫成:
r = requests.get('http://httpbin.org/get?name=Tina&age=18')這樣也是可以的,我們還可以通過字典來構(gòu)造。利用params這個參數(shù)就好了。
import requests
data = {
'name':'Tina',
'age':'18'
}
res = requests.get('http://httpbin.org/get',params = data)
print(res.text)運行結(jié)果如下:
{
"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"
}
通過運行結(jié)果判斷,請求的鏈接自動變成了帶有后綴的鏈接。
另外,網(wǎng)頁返回的類型實際上是str,但是它是json()格式的,我們可以用json返回一個字典。如果不是json格式,使用json就會報錯,拋出json.decoder.JSONDecodeError異常。
4.post()請求
上面我們了解了最基本的get請求,另外一種比較常見的請求方式就是post()。使用requests實現(xiàn)post請求也是非常簡單,示例如下。
import requests
res = requests.post('http://httpbin.org/post')
print(res.text)運行之后就會發(fā)現(xiàn)得到了結(jié)果,就說明我們post請求成功。
5.響應(yīng)
發(fā)送請求,之后得到的肯定就是響應(yīng)。除了text,還有狀態(tài)碼,響應(yīng)頭,cookies等等。
到此這篇關(guān)于Python requests模塊用法詳解的文章就介紹到這了,更多相關(guān)Python requests內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pygame實戰(zhàn)之憤怒的小鳥游戲?qū)崿F(xiàn)
《憤怒的小鳥》其實活得還不錯,盡管我們一直在嘲笑它的IP帝國夢做得太大。但要知道,把休閑益智游戲的生意做到這個份上的,恐怕也就獨此一家了。本文將利用Pygame實現(xiàn)這一游戲,需要的可以參考一下2022-04-04
Python數(shù)據(jù)分析matplotlib設(shè)置多個子圖的間距方法
今天小編就為大家分享一篇Python數(shù)據(jù)分析matplotlib設(shè)置多個子圖的間距方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常
這篇文章主要為大家介紹了一個關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報no?module?name的異常錯誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程
這篇文章主要介紹了Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

