可能是因為網頁版本的百度翻譯防爬所致,換用手機版本的百度翻譯暫時可行。思路仍是偽造請求並獲得響應,注意此時返回的響應結構。
該方法可能不久也會被防爬,可以考慮注冊百度開發者賬號解決,或詳細研究請求中的token。
--By BriskYu
def translateBaidu(text):
content=text
url = "http://fanyi.baidu.com/basetrans"
data = {
"query":content,
"from":"jp",
"to":"zh",
}
headers = {
"User-Agent":"Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Mobile Safari/537.36",
}
response = requests.post(url,data = data,headers = headers)
print(response.json()['trans'][0]['dst'])
