马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
从零基础入门python的第55讲中,照着写了个有道翻译的爬虫,但是发现随着翻译内容的改变,data字典中的salt和sign也会改变,导致程序无法正确运行。
具体代码如下:import urllib.request
import urllib.parse
import json
tanslateContent=input('请输入翻译内容')
url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=https://www.baidu.com/link '
head={}
head['user-Agent']='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0'
data={}
data['i']=tanslateContent
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='1494241077482'
data['sign']='0dfc5f4b4c49e2a01691a511191912c5'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_CLICKBUTTON'
data['typoResult']='true'
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(html)
print('翻译结果:%s' %(target['translateResult'][0][0]['tgt']))
最终html的结果为[errorCode:50']
求解决 |