有道翻译练习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'

修改后的执行结果如下:

 

 

posted @ 2018-09-07 13:39  倔强的汗水  阅读(187)  评论(0)    收藏  举报