使用python 爬取有道翻译返回errorCode:50的问题
问题描述:
post方法爬取 有道翻译
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
请求数据
form_data = {'i': '我是谁', 'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'client': 'fanyideskweb',
'version': '2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTlME', 'salt': '16093795371134',
'sign': '529001bd3da4614ad852e15d06204083', 'lts': '1609379537113',
'bv': '4f7ca50d9eda878f3f40fb696cce4d6d', 'doctype': 'json'}
请求
response = requests.post(url, form_data, 'json')
将json格式字符串转字典
content = json.loads(response.text)
打印翻译的相应内容
print(content)
获取结果
print('翻译结果:' + content['translateResult'][0][0]['tgt'])
在进行删除上面请求的时候,返回errorCode:50的错误,有点懵逼,最后发现请求后面有_o,删除之后,请求正常。在此记录一下!
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
改为
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'