溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

發(fā)布時(shí)間:2021-03-18 15:41:51 來源:億速云 閱讀:474 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)怎么在python中使用urllib模塊發(fā)起post請(qǐng)求,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

urllib模塊發(fā)起的POST請(qǐng)求

案例:爬取百度翻譯的翻譯結(jié)果

1.通過瀏覽器捉包工具,找到POST請(qǐng)求的url

針對(duì)ajax頁(yè)面請(qǐng)求的所對(duì)應(yīng)url獲取,需要用到瀏覽器的捉包工具。查看百度翻譯針對(duì)某個(gè)字條發(fā)送ajax請(qǐng)求,所對(duì)應(yīng)的url

點(diǎn)擊clear按鈕可以把抓包工具,所抓到請(qǐng)求清空

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

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

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

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

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

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

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

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

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

發(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)中文

怎么在python中使用urllib模塊發(fā)起post請(qǐng)求

關(guān)于怎么在python中使用urllib模塊發(fā)起post請(qǐng)求就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI