|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在小甲鱼的零基础入门学习python中,使用有道翻译翻译内容期中的response提示报错can't concat str to bytes,求问这是为什么,谢谢!
import urllib.request
import urllib.parse
import json
content = input("请输入需要翻译的内容")
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
data = {}
data['i'] = 'I+love+FishC.com'
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '15522007214065'
data['sign'] = '27a8d35b07c88c34682b32fa968e19b9'
data['ts'] = '1552200721406'
data['bv'] = 'b33a2f3f9d09bde064c9275bcb33d94e'
data['doctype'] = 'json'
data['xmlVersion'] = '2.1'
data['keyform'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTION'
data['typoResult'] = 'false'
#同时还需要将unicode转化成utf-8的格式(python默认是unicode的形式),utf8是unicode的一种子形式
urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
#read得到的是utf-8形式的文件,要用encode把utf-8转化成unicode的形式
html = response.read().decode('utf-8')
target = json.loads(html)
print('翻译结果是:%s' % target['translateResult'][0][0]['tgt'])
|
|