type
status
date
slug
summary
tags
category
icon
标签
参考标签
在风变编程上的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项目,可以选择原文译文语言,改天试一下。
- 作者:TZ
- 链接:https://musingpages.com/technology/2020/10/14/google-translation-with-python
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章