|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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'])
复制代码
|
-
|