Python爬蟲requests模塊之URL地址中的參數(shù)解讀
URL 地址參數(shù)
在使用requests模塊發(fā)送請(qǐng)求之前,我們就要回顧之前學(xué)習(xí)到的url(統(tǒng)一資源定位符)。
在你拿到數(shù)據(jù)所在的url地址之后,發(fā)送網(wǎng)絡(luò)請(qǐng)求時(shí),請(qǐng)求的url中包含兩種地址參數(shù):查詢參數(shù)和請(qǐng)求參數(shù)。
當(dāng)我們爬一些特殊網(wǎng)址時(shí),請(qǐng)求的url中會(huì)有一些特殊的參數(shù),例如以下站點(diǎn):

這種是URL的查詢參數(shù)。前面是網(wǎng)址,?后面的二值性數(shù)據(jù),就是查詢參數(shù)。
URL的查詢字符串(query string)傳遞某種數(shù)據(jù)。
如果你是手工構(gòu)建URL,也就是通過拼接字符串構(gòu)造的URL。
那么數(shù)據(jù)會(huì)以鍵/值對(duì)的形式置于URL中,跟在一個(gè)問號(hào)的后面。
例如:
https://image.so.com/i?q=%E9%A3%8E%E6%99%AF&src=srp
params關(guān)鍵字參數(shù)
Requests 允許你使用params關(guān)鍵字參數(shù),以一個(gè)字典來提供這些參數(shù)。
舉例來說,如果你想傳遞key1=value1和key2=value2到 httpbin.org/get,那么你可以使用如下代碼:
import request
params = {'q' : '風(fēng)景' , 'src' : 'srp'}
response = requests.get("https: //image.so.com/i",params=params)通過打印輸出該URL,你能看到URL已被正確編碼:
print(response.url)
# 打印結(jié)果
https : / /image.so.com/i?q=%E9%A3%8E%E6%99%AF&src=srp
注意
在url地址中默認(rèn)是不支持中文字符的,所以在請(qǐng)求中會(huì)把中文字符轉(zhuǎn)化成url編碼形式
同樣的查詢參數(shù)可以在瀏覽器抓包工具中找到,位于Headers欄目下的Query String Parameters中,如下圖所示:

請(qǐng)求參數(shù)
請(qǐng)求參數(shù)和查詢參數(shù)有本質(zhì)的區(qū)別。
請(qǐng)求參數(shù)一般是在發(fā)送post請(qǐng)求,向服務(wù)器提交表單數(shù)據(jù)請(qǐng)求的時(shí)候攜帶的參數(shù)。
注意: url地址中不會(huì)顯示請(qǐng)求參數(shù),只會(huì)顯示查詢參數(shù)。 請(qǐng)求參數(shù)在瀏覽器抓包工具中,位于Headers欄目下的Form Data中如下面數(shù)據(jù)抓包所示:

data關(guān)鍵字參數(shù)
在requests模塊中發(fā)送POST請(qǐng)求也是比較容易的操作,要實(shí)現(xiàn)這個(gè),只需簡(jiǎn)單地傳遞一個(gè)字典給data參數(shù)。
你的數(shù)據(jù)字典在發(fā)出請(qǐng)求時(shí)會(huì)自動(dòng)編碼為表單形式:
data = {'key1' : 'value1','key2 ' : 'value2 '}
response = requests.post("http://httpbin.org/post",data=data)當(dāng)然Requests中的post方法只是相對(duì)于get方法多了一個(gè)data參數(shù),其他參數(shù)都是類似的,例如我們也可以為post中的網(wǎng)址添加查詢字符串params參數(shù),也可以像get方法一樣添加headers參數(shù)等。
到此這篇關(guān)于Python爬蟲requests模塊之URL地址中的參數(shù)解讀的文章就介紹到這了,更多相關(guān)Python的requests模塊URL地址參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)最大優(yōu)先隊(duì)列
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)最大優(yōu)先隊(duì)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
分布式全文檢索引擎ElasticSearch原理及使用實(shí)例
這篇文章主要介紹了分布式全文檢索引擎ElasticSearch原理及使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python實(shí)現(xiàn)批量修改xml文件的腳本
這篇文章主要為大家詳細(xì)介紹了如何通過Python實(shí)現(xiàn)批量修改xml文件功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11
Pycharm使用Conda激活環(huán)境失敗的問題解決
本文主要介紹了Pycharm使用Conda激活環(huán)境失敗的問題解決,文中主要介紹了兩種問題的解決,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
如何在Python中利用matplotlib.pyplot畫出函數(shù)圖詳解
通過圖像可以直觀地學(xué)習(xí)函數(shù)變化、分布等規(guī)律,在學(xué)習(xí)函數(shù)、概率分布等方面效果顯著,下面這篇文章主要給大家介紹了關(guān)于如何在Python中利用matplotlib.pyplot畫出函數(shù)圖的相關(guān)資料,需要的朋友可以參考下2022-08-08
PyQt5實(shí)現(xiàn)下載進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)下載進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Python 爬蟲實(shí)現(xiàn)增加播客訪問量的方法實(shí)現(xiàn)
這篇文章主要介紹了Python 爬蟲實(shí)現(xiàn)增加播客訪問量的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

