google翻译 中文文本大量翻译成英文

如题,我遇到了一下情况,需要将大量wiki百科的中文文本翻译成英文

面对这个问题,有以下几点困难

  • google 翻译的API 已经开始收费了。不在提供免费的API服务。
  • 纯手工在google翻译的网页上翻译,对程序猿来说,你是认真的吗?
  • 在使用github上的开源项目时,发现即使通过web脚本调用google网页翻译的免费服务时,依然存在着字符串长度限制,已经会发生长度超出,翻译失败。

在我解决了这个问题之后,我想还是在这里和大家分享一下吧。

首先,先介绍下使用的开源项目:googletrans
具体如下下载就请参考项目的介绍文档。

假如你就是简单翻译几句短文本,
查看 样例 就完全可以了。

>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.translate('안녕하세요.')
# 
>>> translator.translate('안녕하세요.', dest='ja')
# 
>>> translator.translate('veritas lux mea', src='la')
# 

如果你和我一样需要翻译大量的文本,那么请看下面?

(以下代码处理几百个文件依然没有被禁IP,请自己酌情改小sleep时间,以加快翻译速度)

#首先导入需要的包
from googletrans import Translator
from tqdm import tqdm
import os
import random
import time
import re

#声明源文件目录 和 生成文件的放置目录
home = os.environ['HOME']
path = home + "/study/project/chineseSegment/artifical/test"
dest = home + "/study/project/chineseSegment/artifical/en"
files = os.listdir(path)
s = []

# 把长文本切分成短文本,当时google担心会检查文本长度,所以随机了长度,应该没这么严格,想写成固定的也可以
def getText(string):
    list = []
    randline = random.random() * 500 
    while len(string) > 1500:
        index = string.find(

你可能感兴趣的:(Python,python,google,翻译,translate,free,长文本)