马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 咕咕鸡鸽鸽 于 2018-6-26 10:22 编辑
如题,模仿小甲鱼写的有道翻译,有几点不懂。。。
我写的百度翻译
import urllib.request
import urllib.parse
import json
url = 'http://fanyi.baidu.com/v2transapi'
date = { #数据从NetWork的v2transapi
'from':'zh', #的From Date 里获取
'to':'en',
'query':'我是一个人',
'transtype':'translang',
'simple_means_flag':'3',
'sign':'883811.630610',
'token':'e545b528b7e9f59dd1328651ee8d9abf'}
date = urllib.parse.urlencode(date).encode('utf-8')
response = urllib.request.urlopen(url,date)
html = response.read().decode('utf-8')
target = json.loads(html)
print(html)
#print('%s' % target['date']['dst'])
html 得出的是 {"error":997,"from":"zh","to":"en","query":"\u6211\u662f\u4e00\u4e2a\u4eba"} 不同与有道,没有被翻译项,怎么办
在Response那里找到类似于下图有道翻译的html差不多的,该怎么调用
{"type":"ZH_CN2EN","errorCode":0,"elapsedTime":0,"translateResult":[[{"src":"我是一个人","tgt":"I am a man"}]]}
小甲鱼的有道翻译
import urllib.request
import urllib.parse
import json
content = input('请输入需要翻译的内容:')
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
date = {}
date['i'] = content #数据从NetWork的translate
date['from'] ='AUTO' #的From Date 里获取
date['to'] = 'AUTO'
date['smartresult'] = 'dict'
date['client'] = 'fanyideskweb'
date['salt'] = '1529929160583'
date['sign'] = '28a5144e013635dc0ca5acd63b1f9295' #随变,有无没关系
date['doctype'] = 'json'
date['version'] = '2.1'
date['keyfrom'] = 'fanyi.web'
date['action'] = 'FY_BY_CLICKBUTTION'
date['typoResult'] = 'false'
date = urllib.parse.urlencode(date).encode('utf-8')
#encode的作用是将unicode编码转换成其他编码的字符串
response = urllib.request.urlopen(url,date)
html = response.read().decode('utf-8')
#decode的作用是将其他编码的字符串转换成unicode编码
target = json.loads(html)
#print(html)
print('翻译结果为:%s' % (target['translateResult'][0][0]['tgt'])
|