一、问题

在写调用谷歌翻译接口的脚本时,老是报错,我使用的的是googletrans这个模块中Translator的translate方法,程序运行以后会报访问超时错误

二、解决办法

经过多方资料查找,最后才知道google翻译对接口进行了更新,之前用的googletrans已经不能用了。但是网上大神已经开发出了新的方法
https://github.com/lushan88a/google_trans_new


pip install google_trans_new
from google_trans_new import google_translator
from multiprocessing.dummy import Pool as ThreadPool
import time
import re
"""
此版本调用最新版google_trans_new
使用多线程访问谷歌翻译接口
能够翻译len(text)>5000的文本
"""
class Translate(object):def __init__(self):#初始化翻译文本路径以及翻译目标语言self.txt_file='./test.txt'self.aim_language='zh-CN'#读入要翻译的文本文件def read_txt(self):with open(self.txt_file, 'r',encoding='utf-8')as f:txt = f.readlines()return txt#进行文本处理,此为优化def cut_text(self,text):#如果只是一行,就切割成5000字一次来翻译if len(text)==1:str_text = ''.join(text).strip()#筛选是一行但是文本长度大于5000if len(str_text)>5000:#使用正则表达式切割超长文本为5000一段的短文本result = re.findall('.{5000}', str_text)return resultelse:#如果文本为一行但是这一行文本长度小于5000,则直接返回textreturn text"""如果不止一行,加以判断(1)每行字符数都小于5000(2)有的行字符数小于5000,有的行字符数大于5000"""else:result = []for line in text:#第(1)种情况if len(line)<5000:result.append(line)else:# 第(2)种情况,切割以后,追加到列表中cut_str=re.findall('.{5000}', line)result.extend(cut_str)return resultdef translate(self,text):if text:aim_lang = self.aim_languagetry:t = google_translator(timeout=10)translate_text = t.translate(text, aim_lang)print(translate_text)return translate_textexcept Exception as e:print(e)def main():time1=time.time()#开启八条线程pool = ThreadPool(8)trans = Translate()txt = trans.read_txt()texts = trans.cut_text(txt)try:pool.map(trans.translate, texts)except Exception as e:raise epool.close()pool.join()time2 = time.time()print("一共翻译了 {} 个句子,消耗了 {:.2f} s".format(len(texts),time2 - time1))if __name__ == "__main__" :main()

测试文本:https://wws.lanzous.com/iD2a2jkixvg

python 调用Google翻译相关推荐

  1. python调用google翻译_python调用百度翻译、谷歌翻译

    谷歌翻译不提供接口,想要使用谷歌的翻译结果,需要借用爬虫技术,将待翻译的文本传入,抓取页面,解析出翻译结果,经测试,这种方法的翻译效果较差,不建议使用. 百度翻译提供接口,可在百度翻译注册开发者后获取 ...

  2. python 调用Google Translate API进行翻译

    调用Google 翻译API进行翻译 #!/usr/bin/python #coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('u ...

  3. python调用谷歌翻译英文文献pdf_Python 调用 Google Translate API 批量翻译文章

    有时候批量翻译中文文章,批量变成各个小语种的语言,手动的粘贴复制是非常慢的.需要调用翻译 API 接口,综合对比市面上的各个翻译 API,个人觉得 Google 的翻译 API 最为好用和准确. 下面 ...

  4. Python 调用谷歌翻译(2021年3月测试可用)

    前言 把之前的用来谷歌翻译的Python文件整理了下, 用来处理翻译下i18n.js所需要的字典, 直接调用即可.2021年3月测试可用 (¦3[▓▓] 2021年9月17日 测试失效 请查看: Py ...

  5. 翻译pdf中的英文 python_浅谈python实现Google翻译PDF,解决换行的问题

    我们复制PDF到Google翻译时,总是会出现换行的情况,如果自己手动去除,那就太麻烦了. 那么用Python就可以解决,复制到粘贴板以后,Python程序自动可以把\n换成空格,然后我们就可以复制到 ...

  6. python google翻译,python利用google翻译方法实例(翻译字幕文件)

    英文字幕确实让人头疼,因此,花了一天专门研究,用python实现了比较简单的翻译代码.仅有几十行 首先加载模块 pip uninstall googletrans git clone https:// ...

  7. python调用google提供的的客户端方式进行翻译

    上一篇介绍了python构造http请求的方式向google的服务器发起翻译请求.其实google也提供了本地client的形式,不用自己构造HTTP 请求,安装google提供的客户端,然后调用客户 ...

  8. python调用google translate API(谷歌翻译) 的使用方法-手动构造HTTP 请求模式

    这个页面中手动的填写请求参数之后,包括目标语言,源语言,输入的字符,目标格式等,可以得到翻译输出,如下图所示: 可以看到本质上是向服务器发起一个post请求,然后服务器在response中将翻译结果返 ...

  9. python调用百度翻译-Python 调用百度翻译API

    由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...

最新文章

  1. SpringBoot复习:4(@ImportResource)
  2. 国防科技大学发布最新「3D点云深度学习」综述论文
  3. python 贪吃蛇小游戏代码_10分钟再用Python编写贪吃蛇小游戏
  4. python 二分法实现pow_Python实现二分法和黄金分割法
  5. 【学习笔记】1、Python的基本介绍
  6. IDA 7.0 如何使用 IDAGolangHelper插件
  7. 【OpenGL】理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式
  8. 5001 boost之bind库函数
  9. 无法连接iphone软件更新服务器_金蝶软件KIS产品版各版本 “客户端无法连接服务器”...
  10. iPhone6爆炸真是小概率事件吗?
  11. 数字电视DVB-T/T2/C/S/S2,ATSC,ISDB-T参数设置
  12. 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
  13. Xilinx HLS 导出IP失败的最新解决方案(2022.1.15)
  14. php study计算闰年,IOS_IOS获取指定年月的当月天数,前言 在开发IOS中常常需要用 - phpStudy...
  15. 主机托管的优点有哪些?
  16. 基于MATLAB的机动车车牌自动识别系统
  17. SLAM公式引出、推导和理解 3
  18. 多视图聚类与子空间聚类
  19. Excel工作圈金蝶KIS标准版从excel导入凭证_DBF格式凭证
  20. C语言 文件操作12--文件加密

热门文章

  1. 文旅夜游景观设计的优势
  2. wkwebview html5页面,WKWebView:适配H5页面的显示尺寸
  3. win10实时监控用java_利用btrace工具监控在线运行java程序
  4. jQuery超酷字体显示效果
  5. 我连对象都没有,你却让我搞对象存储?
  6. Headless Services
  7. UML设计--人月神教
  8. java h2 数据库_H2数据库介绍
  9. WebStorm2018版永久激活方法
  10. Vuex中mutations的用法