利用Python制作一款简单的翻译软件

导语

之前写了两篇:

Python之百度翻译小爬虫Python之有道翻译小爬虫

随手再加个Google翻译,然后把它们整合到一个Demo上,制作了一款简单的翻译软件。让我们愉快地开始吧~

开发工具

Python版本:3.6.4

相关模块:

requests模块;

pyqt5模块;

js2py模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

百度翻译和有道翻译的原理就不再赘述了,这里就简单讲讲谷歌翻译的爬取原理。

简单测试一下,发现翻译结果是请求了下图这个链接返回的:

该请求需要添加的参数很多,但只有:

sl,tl,tk,q

这四个参数是不固定的。其中q代表待翻译的词sl代表翻译的源语种,可设为auto(即自动检测),tl代表翻译的目标语种,为方便起见,这里只支持中译英(此时tl为en)和英译中(此时tl为zh-CN)。实现的逻辑为若待翻译词汇中含中文,则tl为en,否则为zh-CN。

最后再来说说tk,tk的是由一段js代码生成的,和百度翻译类似,q值决定了tk值,相关的js代码在一个名为desktop_module_main.js的js文件中:

然后我偷懒直接从参考文献中copy了修改后的js代码来生成所需的tk值,最后实现谷歌翻译内容爬取的源代码如下图所示:

然后将谷歌、有道、百度翻译整合起来:

大功告成~

完整源代码详见相关文件。

使用演示

使用方式:

在cmd窗口运行'Translator.py'文件即可。

视频演示:

参考文献

https://www.imooc.com/article/35255

https://www.cnblogs.com/by-dream/p/6554340.html

代码截止2018-11-27测试无误。为方便大家使用,相关文件中提供了打包好的exe文件。

关于本公众号文章转载说明:

转载请注明原作者、出处(即本公众号),若原文有参考文献,请保留。需要设白的请在原文下方留言,(sry),本人谢绝设置长期可转载账号。

Charles的皮卡丘

Pikachu~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181127B1BXO100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券