欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

{"errorCode":50}爬取有道词典的翻译

程序员文章站 2022-05-04 11:45:20
...

将http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 中的"_o"去掉,改为如下链接即可’http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule’。
我的代码:

import urllib.request
import urllib.parse


url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data = {}
data['i'] ='我爱Lenovo!!!'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '15663885847080'
data['sign'] = '18fe8ff2b9c8aa5c68848119429069c7'
data['ts'] = '1566388584708'
data['bv'] = '1acba1212ecd71259407b21061693d8a'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] ='FY_BY_CLICKBUTTION'

# 把unicode转变为utf-8
data = urllib.parse.urlencode(data).encode('utf-8')


response = urllib.request.urlopen(url,data)
# 把utf-8解码程Unicode格式
html = response.read().decode('utf-8')

print(html)
print('111')

全是搬运老师的代码。
我在评论中看到,有人回复:把_o去掉 实际跳转其他地址 不对的 问题出现应该cookie的值的问题 解决这个问题 只要自己打开网址重新获取cookie的值 一定要注意 cookie的值里面不要嵌套单引号。
觉得应该说的挺有道理,但是我目前解决不了。