Python爬蟲進階——Request對象之post請求案例分析【百度翻譯】



作為進階的最后一篇,我們就講個有意思點的案例吧——百度翻譯。

一、分析URL接口

正如上一篇:《Python爬蟲進階——Get請求》講到的:當我們進行爬蟲開發的時候,首先要做的,就是分析URL接口。

  1. 打開百度翻譯;

  2. F12;

  3. 開發者工具中點擊“暫停”和“清空”;
    在這里插入圖片描述

  4. 輸入“python”,並選中如圖的“sug”請求;
    在這里插入圖片描述

  5. 點擊“Headers”,可以查看到圖中圓圈中的信息;
    在這里插入圖片描述

二、代碼實現

baidu_fanyi.py
import urllib.request as ur
import urllib.parse as up

# 實例化data
data = {
    'kw': 'python'
}
# data編碼
data_url = up.urlencode(data)

request = ur.Request(
    url='https://fanyi.baidu.com/sug',
    # 不僅僅url編碼,還需encode轉成字節
    data=data_url.encode('utf-8'),
)

response = ur.urlopen(request).read()
print(response)
輸出如下:

在這里插入圖片描述
注意:
輸出結果為字節類型,為json對象,還需使用loads方法。

三、代碼抽離和完善

import urllib.request as ur
import urllib.parse as up
import json

word = input('請輸入要翻譯的英文:')
# 實例化data
data = {
    'kw': word
}
# data編碼
data_url = up.urlencode(data)

request = ur.Request(
    url='https://fanyi.baidu.com/sug',
    # 不僅僅url編碼,還需encode轉成字節
    data=data_url.encode('utf-8'),
)

response = ur.urlopen(request).read()
# print(response)

ret = json.loads(response)
# print(ret)
translate = ret['data'][0]['v']
print(translate)
輸出如下:

在這里插入圖片描述
OK啦~~
簡直完美。
天色已晚,明天再寫《Python爬蟲實戰篇》吧。



為我心愛的女孩~~



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM