icon
网址
type
Post
status
Published
date
Oct 14, 2020
slug
google-translation-with-python
summary
这篇文章介绍了如何使用Python和Googletrans库进行谷歌翻译。通过替换代码中的有道翻译类为谷歌翻译类,并对上传原文内容和显示译文内容的部分进行相应修改,可以实现使用谷歌翻译API进行翻译的功能。文章还提到了一个可以选择原文和译文语言的Python项目。
tags
Python
工具
category
技术分享
内容形式
完成日期
URL
在风变编程上的Python爬虫课程学到第八关,课后练习里,有一个很让人惊喜的彩蛋,是通过Python的爬虫把有道翻译封装起来,做成独立的小APP。

这个程序的代码如下(如果风变的老师看到了,不想让我贴源代码出来,可以联系我,我删掉):
这个小程序很好用!我好奇,可不可以把谷歌翻译也这么封装起来呢?结果发现,不仅能,而且比这个还要简单!已经有程序员利用谷歌翻译的API,做好了一个现成的Python库,地址是:https://github.com/ssut/py-googletrans
借助上面的这个框架,我只需要改三个地方:
- 把有道翻译的类换成谷歌翻译的类;
- 把上传原文内容的地方对应到谷歌翻译;
- 把显示译文内容的地方对应到谷歌翻译。
1. 把有道翻译的类换成谷歌翻译的类
首先,要安装Googletrans
其次,调用Googletran
第34行的代码,是调用YouDaoFanyi大类的命令
在Googletrans里面,同样功能的类是Translator,因此这里替换。
原来设定YouDaoFanyi大类的代码可以删掉了。
2. 把上传原文内容的地方对应到谷歌翻译
巧合的是,输入原文的方式是一样的,所以这一步不需要任何操作。
3. 把显示译文内容的地方对应到谷歌翻译
原本代码中,有两个显示译文内容的位置,要同时修改。
根据Googletrans页面上的使用说明,调用翻译功能的代码如下:
得到的结果是:
译文藏在“text”属性里,所以我要把它提取出来
按照这个逻辑,要把原来的一行代码替换成两行:
成果
总共改了六行代码,谷歌翻译就被抓下来啦!唯一的不足就是,这个小程序和谷歌翻译的网页功能一样,可以自动检测输入文字,但是,默认输出是英文。如果修改一下译文参数,dest,可以设定输出译文的语言。但是不能自动在中英之间双向切换。所以,只能做一个“英汉”的,做一个“汉英”的。美中不足吧。
在网上找了另外一个Python项目,可以选择原文译文语言,改天试一下。

Loading...



