落叶孤尘 发表于 2020-3-19 18:05:04

请问看了小甲鱼爬虫有道翻译代码{"errorCode":50}

本帖最后由 落叶孤尘 于 2020-3-19 18:48 编辑

请问 有什么处理方法么,跟着视频敲的代码。。

代码如下:
import urllib.request
import urllib.parse
import json

content = input("请输入需要翻译的内容:")

url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'

head = {}
head['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'

data={}
data['i'] = content
data['doctype'] = '2.1'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '15844816425410'
data['sign'] = 'd1d61b8ed4b161182f2af9d3f29529c5'
data['ts'] = '1584373845360'
data['bv'] = 'acc97416ef67184f42e5a4a03c3d52ab'
data['version'] = 'json'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_REALTlME'

data = urllib.parse.urlencode(data).encode('utf-8')


req = urllib.request.Request(url,data,head)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')

target = json.loads(html)
print("翻译结果: %s" % (translateResult['tgt']))

zltzlt 发表于 2020-3-19 18:06:41

把代码发上来!!

qiuyouzhi 发表于 2020-3-19 18:15:32

加一个headers就好了

一个账号 发表于 2020-3-19 18:40:18

加个 headers 或者换个 headers

落叶孤尘 发表于 2020-3-19 22:42:05

zltzlt 发表于 2020-3-19 18:06
把代码发上来!!

发上来了。

zltzlt 发表于 2020-3-20 08:01:26

这样试试:

import urllib.request
import urllib.parse
import json

content = input("请输入需要翻译的内容:")

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

head = {}
head['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'

data = {}
data['i'] = content
data['doctype'] = 'json'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['client'] = 'fanyideskweb'

data = urllib.parse.urlencode(data).encode('utf-8')

req = urllib.request.Request(url, data, head)
response = urllib.request.urlopen(req)
html = response.read().decode()
print(html)
target = json.loads(html)
print("翻译结果: %s" % (target['translateResult']['tgt']))

落叶孤尘 发表于 2020-3-20 14:03:37

zltzlt 发表于 2020-3-20 08:01
这样试试:

谢谢谢谢。{:5_92:}为什么去掉一些参数就可以了呀。。

爱学习的黑黑 发表于 2020-4-10 17:11:20

把url里的_o去掉试试   url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' 改成 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
页: [1]
查看完整版本: 请问看了小甲鱼爬虫有道翻译代码{"errorCode":50}