有道翻译练习python爬虫技术遇到的问题
1.有道翻译网站
源码如下:
import urllib.request
import urllib.parse
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
data={}
data['i'] = 'I love you'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '1536293216908'
data['sign'] = 'edf3403879c284325a5ba746eefeb083'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTION'
data['typoResult'] = 'false'
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8')
print(html)
【步骤】
1.首先获取url信息
通过360浏览器访问有道翻译,输入一段中文,点击“翻译”,然后点击“F12”查看post信息

2.获取form data,填充data变量

3.编辑好python代码后执行,报{"errorCode":50}错误
【解决方法】去掉url中的"_o"就可以了,具体原因不清楚。
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
改成 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
修改后的执行结果如下:

浙公网安备 33010602011771号