可能是因为网页版本的百度翻译防爬所致,换用手机版本的百度翻译暂时可行。思路仍是伪造请求并获得响应,注意此时返回的响应结构。
该方法可能不久也会被防爬,可以考虑注册百度开发者账号解决,或详细研究请求中的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'])