{"errorCode":50} 的解决办法

# 无反爬
import urllib.parse
import urllib.request
import json


content = input('请输入需要翻译的词语:')

# url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data = {}

data['i']=content
data['doctype']='json'
data['keyfrom']='fanyi.web'
data['typoResult']='true'
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='1520416292076'
data['sign']='41fe7ea28425a0a4ceb88ab4c8609d13'
data['version']='2.1'

data['action']='FY_BY_CLICKBUTTION'
data['typoResult']='false'
# 转换格式
data = urllib.parse.urlencode(data).encode('utf-8')
# 发送请求,带data就是post,不带data是get
response = urllib.request.urlopen(url,data)
# 转码
html = response.read().decode('utf-8')

ta = json.loads(html)  # json.loads()用于将str类型的数据转成dict。
#参考 Json模块dumps、loads、dump、load函数介绍 print(ta[
'translateResult'][0][0]['tgt'])

url中带_o时,会提示{"errorCode":50}。 从其他地方发现删除后可以正常运行,不知道原因。有知道的可以留个言。

 
原文地址:https://www.cnblogs.com/scios/p/8528984.html