|
发表于 2017-2-9 19:42:52
|
显示全部楼层
urllib.request.urlopen()没有header这个参数,需要添加header,参考以下代码:
- import urllib.request
- import urllib.parse
- import json
- keyword = input('请输入需要翻译的内容:')
- url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/link'
- req = urllib.request.Request(url)
- req.add_header("User-Agent","'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36")
- data = {}
- data['type']='AUTO'
- data['i']=keyword
- data['doctype']='json'
- data['xmlVersion']='1.8'
- data['keyfrom']='fanyi.web'
- data['ue']='UTF-8'
- data['action']='FY_BY_CLICKBUTTON'
- data['typoResult']='true'
- data = urllib.parse.urlencode(data).encode('utf-8')
- response = urllib.request.urlopen(req,data)
- html = response.read().decode('utf-8')
- translation = json.loads(html)
- print('翻译结果是:%s' %(translation['translateResult'][0][0]['tgt']))
复制代码 |
|