{"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的值里面不要嵌套单引号。
觉得应该说的挺有道理,但是我目前解决不了。