|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import urllib.request
- import urllib.parse
- import json
- content= input("请输入需要翻译的内容:")
- url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
- data={}
- data['i']=content
- data['type']='AUTO'
- data['smartresult']='dict'
- data['client']='fanyideskweb'
- data['salt']='15847082553867'
- data['sign']='3eaa7ef338cd6d4ab1a22795d6b9a12d'
- data['ts']='1584708255386'
- data['bv']= 'ec579abcd509567b8d56407a80835950'
- data['doctype']= 'json'
- data['version']= '2.1'
- data['keyfrom']= 'fanyi.web'
- data['action']= 'FY_BY_CLICKBUTTION'
- data['ue']='UTF-8'
- data['typoresult']='true'
- data = urllib.parse.urlencode(data).encode('utf-8')
- response = urllib.request.urlopen(url,data)
- html = response.read().decode('utf-8')
- target = json.load(html)
- print("翻译结果:%s"% (target['translateResult'][0][0]['tgt']))
复制代码
1.urlopen没有正确加data,应该这样:
- response = urllib.request.urlopen(url, data = data)
复制代码
2.另外如果要查词典,得加headers,不然网站反扒就拒绝你的查询了:
- headers = {'user-agent': 'firefox'}
- req = urllib.request.Request(url, data = data, headers = headers)
- response = urllib.request.urlopen(req)
复制代码
3.再有,翻译的url需要改成如下,去掉_o,这是网易设置的反扒:
- http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule
复制代码
4.你可以参考我之前做的案例:
https://fishc.com.cn/thread-155634-1-1.html
|
|