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

