赞
踩
2019-05-09
3229
在平时使用谷歌翻译的过程中,经常会遇到需要批量翻译大量文本的情景,这种时候需要调用谷歌翻译的API
首先可以使用python库googletranspip install googletrans#使用方法from googletrans import Translator
translator = Translator(service_urls=['translate.google.cn'])
source = '我还是不开心!'text = translator.translate(source,src='zh-cn',dest='en').text
print(text)"i'm still not happy!"
但是在面对大规模需要翻译的句子时就会很慢,所以可以使用协程的方法。
这里我们使用了基于gevents库的grequests库。
仔细看了下googletrans库的核心代码,发现主要是构造一个url,然后发起get请求,得到一个json的结果,从中提取出翻译结果。
构造url的过程需要一个token,根据某些规则生成,所以为了方便还是调用googletrans的部分函数。
具体的参考代码如下:
这里是将德语(de)翻译成英语(en),代码中需要相应修改。import grequestsimport loggingimport jsonfrom googletrans import Translatorfrom googletrans.utils import format_json
headers = {'User-Agent':'Mozilla/5.0 (Windows NT
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。