|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 fwinmachao 于 2017-6-26 17:42 编辑
各位大神好, 请教一个问题:
我跟着小甲鱼的零基础学习Python, 下面是我使用有道翻译'I love fishc.com'. 总是报错{'errorCode': 50}. 哪位大神帮忙看一下, 感激不尽.
我用的版本是python34
源码:
- import urllib.request
- import urllib.parse
- import json
- url="http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=null"
- head={}
- head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'
- data={}
- data['i']='I love fishc.com'
- data['from']='AUTO'
- data['to']='AUTO'
- data['smartresult'] = 'dict'
- data['client'] = 'fanyideskweb'
- data['salt'] = '1498463829573'
- data['sign'] = 'f2297514612234fa169d71a5716963bd'
- 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)
- target=target['translateResult'][0][0]['tgt']
- print(target)
复制代码
这么巧,我也是昨天琢磨出来,小甲鱼老师视频都快3年前了。把request headers所有东西都复制一下就行。
import urllib.request
import urllib.parse
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=https://www.baidu.com/link'
data = {}
data['i'] = 'I love FishC.com'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '1498443416905'
data['sign'] = '7f1f46783b69d95236192822a11b98e2'
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')
response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8')
print(html)
|
|