python3.7界面翻译_python3下使用有道翻译网页版实现翻译功能~~~附源码

有道在线翻译:http://fanyi.youdao.com/

在python3中,使用post提交数据进行翻译,默认中英,可更改语言

1399899-20190718094027961-1924381458.png

按F12 打开开发者工具,在左侧输入“我爱你”翻译,在右侧观察network中提交的post数据Form Data格式,如下

1399899-20190718094316880-1983153292.png

在preview中查看翻译结果,可以看出是字典格式

1399899-20190718094619575-2100497564.png

逻辑关系清楚之后,那么就在python3模拟提交Form Data数据来获取翻译结果吧

data = {'i': ‘我爱你’:'),

'from': 'AUTO',#默认中文

'to': 'AUTO', #默认英文

'smartresult': 'dict','client': 'fanyideskweb','salt': '', #这两个字段空着也行???

'sign': '','doctype': 'json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_REALTIME','typoResult': 'false'}

其中

i:待翻译的内容

from:默认中文,可改

to:默认英文,可改

salt和sign可以直接粘贴过来,或者研究源码生成的原理(应该是一个随机码一个md5加密码),but经过我测试这两个字段为空也木有问题可以运行

运行结果:

{'type': 'ZH_CN2EN', 'errorCode': 0, 'elapsedTime': 2, 'translateResult': [[{'src': '我爱你', 'tgt': 'I love you'}]]}

附源码:

1 #Author:ZM 2019.7.18

2 '''

3 利用有道翻译的表单Form Data 格式,交互翻译内容4 默认形式是中-英5 测试发现salt和sign可以为空6 '''

7

8 importurllib.request9 importurllib.parse10 importjson11

12 deftranslate( data):13 '''

14 翻译15 :param data: form data16 :return: None17 '''

18 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

19 data = urllib.parse.urlencode(data).encode('utf-8')20 r =urllib.request.urlopen(url, data)21 html = r.read().decode('utf-8')22 #print(html.strip()) # html是字符串str格式

23 target =json.loads(html)24 #print(target) # target是字典dict格式

25 print(target['translateResult'][0][0]['tgt'])26

27 if __name__=='__main__':28

29 whileTrue:30 data = {'i': input('请输入中文(退出请按 " q "):'),31 'from': 'AUTO',#默认中文

32 'to': 'AUTO', #默认英文

33 'smartresult': 'dict',34 'client': 'fanyideskweb',35 'salt': '', #这两个字段空着也行???

36 'sign': '',37 'doctype': 'json',38 'version': '2.1',39 'keyfrom': 'fanyi.web',40 'action': 'FY_BY_REALTIME',41 'typoResult': 'false'}42 if data['i'] == 'q':43 break

44 else:45 translate(data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值