|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 skafjdsdhfh 于 2017-9-18 20:52 编辑
大家好,之前重复下载猫咪图片和有道翻译的时候出现{"errorCode":50}。
今天在某网里面看到有人说只要去除url里面的_o字段,就可以解决问题。
试了一下可以使用,高兴的振臂欢呼。
基于大部分人都看过视频中老师的教学代码,所以下面贴出来的代码大家可以选择性忽略
- import urllib.request
- import urllib.parse
- url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom='
- data = {'i':'有道',
- 'from':'AUTO',
- 'to':'AUTO',
- 'smartresult':'dict',
- 'client':'fanyideskweb',
- 'salt':'1505653077725',
- 'sign':'467d88b4cdc9c6adca72855020b6a1e8',
- 'doctype':'json',
- 'version':'2.1',
- 'keyfrom':'fanyi.web',
- 'action':'FY_BY_CLICKBUTTION',
- 'typoResult':'true'}
- data = urllib.parse.urlencode(data).encode('utf-8')
- r = urllib.request.urlopen(url,data)
- html = r.read().decode('utf-8')
- print(html)
复制代码
以上只是把url中的_o给删除就可以重复老师的结果了。
我的问题是:1、为什么这样就可以?
2、字典信息和头部信息的内容太多,可以使用老师之前介绍pickle的方式吗?
~~~~~20:48 updata~~~~~~
太过于得意忘形。照老师接下来的代码再次出错。无论翻译什么词语都只会返回“内容”两个字!!!
- import urllib.request
- import urllib.parse
- import json
- content = input('请输入需要翻译的词语:')
- url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom='
- data = {'i':'content',
- 'from':'AUTO',
- 'to':'AUTO',
- 'smartresult':'dict',
- 'client':'fanyideskweb',
- 'salt':'1505653077725',
- 'sign':'467d88b4cdc9c6adca72855020b6a1e8',
- 'doctype':'json',
- 'version':'2.1',
- 'keyfrom':'fanyi.web',
- 'action':'FY_BY_CLICKBUTTION',
- 'typoResult':'true'}
- data = urllib.parse.urlencode(data).encode('utf-8')
- r = urllib.request.urlopen(url,data)
- html = r.read().decode('utf-8')
- target = json.loads(html)
- print('翻译结果是:%s'%(target['translateResult'][0][0]['tgt']))
复制代码
没有报错。不知道怎么办。我再也不敢随便高兴了。(′°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`)
|
|