今天在尝试爬虫有道词典的翻译是总是出现{"errorCode":50}
解决办法:
去除url中的_o即可
def youdao(f):
headers=random.choice(UA)
mytime = int(time.time()*1000)
data = {'action':'FY_BY_REALTIME',
'client':'fanyideskweb',
'doctype':'json',
'from':'AUTO',
'i':f,
'keyfrom':'fanyi.web',
'salt':mytime,
'sign':'9bdc9ae76e43b25eeab1b86f692e82d3',
'smartresult':'dict',
'to':'AUTO',
'typoResult':'false',
'version':'2.1',}
req = request.Request('http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule',headers=headers)
data = parse.urlencode(data).encode('utf-8')
html = request.urlopen(req,data).read().decode()
result = json.loads(html)
lis = result['translateResult'][0]
s = ''
for i in lis:
s+=i['tgt']
return s