python爬蟲 urllib模塊發(fā)起post請(qǐng)求過程解析
urllib模塊發(fā)起的POST請(qǐng)求
案例:爬取百度翻譯的翻譯結(jié)果
1.通過瀏覽器捉包工具,找到POST請(qǐng)求的url
針對(duì)ajax頁面請(qǐng)求的所對(duì)應(yīng)url獲取,需要用到瀏覽器的捉包工具。查看百度翻譯針對(duì)某個(gè)字條發(fā)送ajax請(qǐng)求,所對(duì)應(yīng)的url
點(diǎn)擊clear按鈕可以把抓包工具,所抓到請(qǐng)求清空

然后填上翻譯字條發(fā)送ajax請(qǐng)求,紅色框住的都是發(fā)送的ajax請(qǐng)求

抓包工具All按鈕代表 顯示抓到的所有請(qǐng)求 ,包括GET、POST請(qǐng)求 、基于ajax的POST請(qǐng)求
XHR代表 只顯示抓到的基于ajax的POST請(qǐng)求

哪個(gè)才是我們所要的基于ajax的POST請(qǐng)求,這個(gè)POST請(qǐng)求是攜帶翻譯字條的蘋果請(qǐng)求參數(shù)

再看看這個(gè)POST請(qǐng)求 對(duì)應(yīng)的請(qǐng)求URL ,這個(gè)URL是我們要請(qǐng)求的URL

發(fā)起POST請(qǐng)求之前,要處理POST請(qǐng)求攜帶的參數(shù) 3步流程:
一、將POST請(qǐng)求封裝到字典
二、使用parse模塊中的urlencode(返回值類型是字符串類型)進(jìn)行編碼處理
三、將步驟二的編碼結(jié)果轉(zhuǎn)換成byte類型
import urllib.request
import urllib.parse
# 1.指定url
url = 'https://fanyi.baidu.com/sug'
# 發(fā)起POST請(qǐng)求之前,要處理POST請(qǐng)求攜帶的參數(shù) 流程:
# 一、將POST請(qǐng)求封裝到字典
data = {
# 將POST請(qǐng)求所有攜帶參數(shù)放到字典中
'kw':'蘋果',
}
# 二、使用parse模塊中的urlencode(返回值類型是字符串類型)進(jìn)行編碼處理
data = urllib.parse.urlencode(data)
# 三、將步驟二的編碼結(jié)果轉(zhuǎn)換成byte類型
data = data.encode()
'''2. 發(fā)起POST請(qǐng)求:urlopen函數(shù)的data參數(shù)表示的就是經(jīng)過處理之后的
POST請(qǐng)求攜帶的參數(shù)
'''
response = urllib.request.urlopen(url=url,data=data)
data = response.read()
print(data)
把拿到的翻譯結(jié)果 去json在線格式校驗(yàn)(在線JSON校驗(yàn)格式化工具(Be JSON)),
點(diǎn)擊格式化校驗(yàn)和unicode轉(zhuǎn)中文

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 列表(List) 的三種遍歷方法實(shí)例 詳解
這篇文章主要介紹了Python 列表(List) 的三種遍歷方法實(shí)例 詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
Python獲取江蘇疫情實(shí)時(shí)數(shù)據(jù)及爬蟲分析
為了關(guān)注疫情狀況,今天我們用python來爬一爬疫情的實(shí)時(shí)數(shù)據(jù),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-08-08
使用Python實(shí)現(xiàn)簡(jiǎn)單的爬蟲框架
爬蟲是一種自動(dòng)獲取網(wǎng)頁內(nèi)容的程序,它可以幫助我們從網(wǎng)絡(luò)上快速收集大量信息。下面我們將學(xué)習(xí)如何使用 Python 編寫一個(gè)簡(jiǎn)單的爬蟲框架,感興趣的可以了解一下2023-05-05
Pyhton模塊和包相關(guān)知識(shí)總結(jié)
文中詳細(xì)整理了關(guān)于Python模塊和包的相關(guān)知識(shí)點(diǎn),剛?cè)腴TPython的小伙伴們可以學(xué)習(xí)一下,有助于加深Python基礎(chǔ)的理解.而且有詳細(xì)說明及代碼示例,需要的朋友可以參考下2021-05-05
Python3.6.0+opencv3.3.0人臉檢測(cè)示例
這篇文章主要為大家詳細(xì)介紹了Python3.6.0+opencv3.3.0人臉檢測(cè)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲
pygame是python的一個(gè)做游戲的庫,非常適合做游戲開發(fā),這篇文章主要給大家介紹了關(guān)于如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲的相關(guān)資料,需要的朋友可以參考下2021-05-05
聯(lián)邦學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)FedAvg算法實(shí)現(xiàn)
這篇文章主要為大家介紹了聯(lián)邦學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)FedAvg算法實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

