Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
requests之post請求實例-百度翻譯
匿名網(wǎng)友發(fā)布于:2023-10-29 20:31:10
(侵權舉報)

2024 一天掌握python爬蟲【基礎篇】 涵蓋 requests、beautifulsoup、selenium

https://www.bilibili.com/video/BV1Ju4y1Y7k6/

 

打開百度翻譯網(wǎng)址,我們輸入需要翻譯的英文,谷歌 F12 打開開發(fā)者工具,network可以看到網(wǎng)絡請求,我們需要找到請求的API,我們可以選擇

Fetch/XHR,來縮小尋找范圍。

經(jīng)過排查,有兩個接口設計到翻譯

sug請求是用戶界面的左側的一些翻譯結果,v2transapi是用戶界面右側的精準結果。

所以我們根據(jù)需求,都可以做。

我們就以左側的用戶界面sug接口為例,用requests的post方式模擬下。

https://fanyi.baidu.com/sug

就一個參數(shù)

import requests
import json

url = "https://fanyi.baidu.com/sug"

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
}

data = {
    'kw': 'white'
}

r = requests.post(url=url, data=data, headers=headers)

print(r.text)

# json.loads方法自動把unicode編碼轉成中文
result = json.loads(r.text)
print(result)

這里用post方法實現(xiàn),返回結果是unicode編碼,因為也是json格式,所以我們用json.loads方法,直接獲取Json對象,以及實現(xiàn)unicode編碼轉成中文。

轉載自: