可能是因為網頁版本的百度翻譯防爬所致,換用手機版本的百度翻譯暫時可行。思路仍是偽造請求並獲得響應,注意此時返回的響應結構。
該方法可能不久也會被防爬,可以考慮注冊百度開發者賬號解決,或詳細研究請求中的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'])