50 行Python代码,轻松实现中英文翻译

2018-07-22 05:57:23来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Python学习交流群:125240963,群内每天分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎各位小伙伴入群学习交流

现在的时代,越来越看重英语能力。如果你懂得英语,你会接触到更大的世界,你会发现更多的信息。尤其是对于程序员来说,好的编程资料都是来自英文文档。那些国内的翻译的版本,有很多内容跟原版相差的太多,甚至牛头不对马嘴。

虽然现在有非常多的翻译软件,但通过自己动手写个 python 小程序,是非常的有成就感。甚至你借助今天的代码,也可以自己开发个小型翻译软件。

有道词典接口

今天的翻译程序是借用有道翻译的接口来实现的。程序的逻辑很简单,就是利用有道翻译 ,把需要翻译的内容做为参数,传到相应的 url 里。然后通过有道的服务器返回一个 json 数据,我们就可以获得相应的翻译结果。

程序调用结果

启动程序在终端输入你想要翻译的内容,可以中译英,也可以英译中。比如输入「Koc 最帅!」。

 

相应的输入英文也可以翻译成中文。

 

程序代码

程序代码很简单,在相应的代码里我都有注释。

 1 import json
 2 
 3 import requests
 4 
 5 # 翻译函数,word 需要翻译的内容
 6 def translate(word):
 7     # 有道词典 api
 8     url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
 9     # 传输的参数,其中 i 为需要翻译的内容
10     key = {
11         'type': "AUTO",
12         'i': word,
13         "doctype": "json",
14         "version": "2.1",
15         "keyfrom": "fanyi.web",
16         "ue": "UTF-8",
17         "action": "FY_BY_CLICKBUTTON",
18         "typoResult": "true"
19     }
20     # key 这个字典为发送给有道词典服务器的内容
21     response = requests.post(url, data=key)
22     # 判断服务器是否相应成功
23     if response.status_code == 200:
24         # 然后相应的结果
25         return response.text
26     else:
27         print("有道词典调用失败")
28         # 相应失败就返回空
29         return None
30 
31 def get_reuslt(repsonse):
32     # 通过 json.loads 把返回的结果加载成 json 格式
33     result = json.loads(repsonse)
34     print ("输入的词为:%s" % result['translateResult'][0][0]['src'])
35     print ("翻译结果为:%s" % result['translateResult'][0][0]['tgt'])
36 
37 def main():
38     print("本程序调用有道词典的API进行翻译,可达到以下效果:")
39     print("外文-->中文")
40     print("中文-->英文")
41     word = input('请输入你想要翻译的词或句:')
42     list_trans = translate(word)
43     get_reuslt(list_trans)
44 
45 if __name__ == '__main__':
46     main()

 

作者:痴海
链接:https://juejin.im/post/5b4bdb81e51d45616f4575dd

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python全栈开发-前方高能-内置函数2

下一篇:从完全零基础教你用Python开饭一款打飞机的游戏!是个人就能学会