urllib模塊發起的POST請求
案例:爬取百度翻譯的翻譯結果
1.通過瀏覽器捉包工具,找到POST請求的url
針對ajax頁面請求的所對應url獲取,需要用到瀏覽器的捉包工具。查看百度翻譯針對某個字條發送ajax請求,所對應的url
點擊clear按鈕可以把抓包工具,所抓到請求清空

然后填上翻譯字條發送ajax請求,紅色框住的都是發送的ajax請求

抓包工具All按鈕代表 顯示抓到的所有請求 ,包括GET、POST請求 、基於ajax的POST請求
XHR代表 只顯示抓到的基於ajax的POST請求

哪個才是我們所要的基於ajax的POST請求,這個POST請求是攜帶翻譯字條的蘋果請求參數

再看看這個POST請求 對應的請求URL ,這個URL是我們要請求的URL

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

