Googletrans是一个免费且无限制的python库,可实现Google Translate API。 Google Translate交互式API可以用来调用诸如自动侦测语言种类和翻译之类的用途。

英文网址:https://py-googletrans.readthedocs.io/en/latest/#googletrans.Translator.translate

API特性:

  • 快速可靠 - 它使用translate.google.com使用的相同服务器
  • 自动语言检测
  • 批量翻译
  • 可自定义的服务URL
  • 连接池(使用requests.Session的优点)
  • HTTP / 2支持

关于库使用的注意事项:

  • 单个文本的最大字符限制为15k。
  • 由于谷歌翻译的网页版本的限制,此API不保证库始终正常工作。 (如果您不关心稳定性,请使用此库。)
  • 如果您想使用稳定的API,我强烈建议您使用Google的官方翻译API。
  • 如果您收到HTTP 5xx错误或#6等错误,可能是因为Google已禁止您的客户端IP地址。

快速开始: 

您可以从PyPI安装它:

$ pip install googletrans

HTTP / 2支持
这对每个人来说都很棒! (在我的测试中速度提高了2倍)如果你想更快地获得googletrans,你应该安装超级软件包。 Googletrans会自动检测是否安装了hyper,如果安装了hyper,它将用于http网络。

基本用法
如果未提供源语言,Google翻译会尝试检测源语言。

>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.translate('안녕하세요.')
# <Translated src=ko dest=en text=Good evening. pronunciation=Good evening.>>>> translator.translate('안녕하세요.', dest='ja')
# <Translated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.>>>> translator.translate('veritas lux mea', src='la')
# <Translated src=la dest=en text=The truth is my light pronunciation=The truth is my light>

自定义服务URL
您可以使用其他谷歌翻译域进行翻译。 如果提供了多个URL,则随机选择一个域。

>>> from googletrans import Translator
>>> translator = Translator(service_urls=['translate.google.com','translate.google.co.kr',])

高级用法(批量)
数组可用于在单个方法调用和单个HTTP会话中转换一批字符串。 上面显示的完全相同的方法也适用于数组。

>>> translations = translator.translate(['The quick brown fox', 'jumps over', 'the lazy dog'], dest='ko')
>>> for translation in translations:
...    print(translation.origin, ' -> ', translation.text)
# The quick brown fox  ->  빠른 갈색 여우
# jumps over  ->  이상 점프
# the lazy dog  ->  게으른 개

语言检测
顾名思义,检测方法识别给定句子中使用的语言。

>>> translator.detect('이 문장은 한글로 쓰여졌습니다.')
# <Detected lang=ko confidence=0.27041003>
>>> translator.detect('この文章は日本語で書かれました。')
# <Detected lang=ja confidence=0.64889508>
>>> translator.detect('This sentence is written in English.')
# <Detected lang=en confidence=0.22348526>
>>> translator.detect('Tiu frazo estas skribita en Esperanto.')
# <Detected lang=eo confidence=0.10538048>

API导航:

googletrans.Translator

class googletrans.Translator(service_urls=Noneuser_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64)'proxies=Nonetimeout=None)

谷歌翻译ajax API实现类

您必须创建一个Translator实例才能使用此API

参数:

  • service_urls(一系列字符串) - 谷歌翻译网址列表。 网址将随机使用。 例如['translate.google.com','translate.google.co.kr']
  • user_agent(str) - 发出请求时要发送的User-Agent标头。
  • proxies(字典) - 代理配置。 字典映射协议或协议和主机到代理的URL例如{'http':'foo.bar:3128','http://host.name':'foo.bar:4012'}
  • 超时(数字或数字的两倍) - 请求库的超时定义。 将被每个请求使用。

translate(textdest='en'src='auto')

将文本从源语言翻译为目标语言

参数:

  • text(UTF-8 str; unicode;字符串序列(list,tuple,iterator,generator)) - 要翻译的源文本。 通过序列输入支持批量转换。
  • dest  - 将源文本转换为的语言。 该值应为googletrans.LANGUAGES中列出的语言代码之一或googletrans.LANGCODES中列出的语言名称之一。
  • dest – strunicode
  • src  - 源文本的语言。 该值应为googletrans.LANGUAGES中列出的语言代码之一或googletrans.LANGCODES中列出的语言名称之一。 如果未指定语言,系统将尝试自动识别源语言。
  • src – strunicode

返回类型:Translated

返回类型:list (when a list is passed)

基本用法:

>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.translate('안녕하세요.')
<Translated src=ko dest=en text=Good evening. pronunciation=Good evening.>
>>> translator.translate('안녕하세요.', dest='ja')
<Translated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.>
>>> translator.translate('veritas lux mea', src='la')
<Translated src=la dest=en text=The truth is my light pronunciation=The truth is my light>

高阶用法:

>>> translations = translator.translate(['The quick brown fox', 'jumps over', 'the lazy dog'], dest='ko')
>>> for translation in translations:
...    print(translation.origin, ' -> ', translation.text)
The quick brown fox  ->  빠른 갈색 여우
jumps over  ->  이상 점프
the lazy dog  ->  게으른 개

detect(text)

     检测输入文本的语言

参数:

  • text(UTF-8 str; unicode;字符串序列(list,tuple,iterator,generator)) - 要识别其语言的源文本。 通过序列输入支持批量检测。

返回类型:Detected
返回类型:list (when a list is passed)
基本用法:

>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.detect('이 문장은 한글로 쓰여졌습니다.')
<Detected lang=ko confidence=0.27041003>
>>> translator.detect('この文章は日本語で書かれました。')
<Detected lang=ja confidence=0.64889508>
>>> translator.detect('This sentence is written in English.')
<Detected lang=en confidence=0.22348526>
>>> translator.detect('Tiu frazo estas skribita en Esperanto.')
<Detected lang=eo confidence=0.10538048>

高阶用法:

>>> langs = translator.detect(['한국어', '日本語', 'English', 'le français'])
>>> for lang in langs:
...    print(lang.lang, lang.confidence)
ko 1
ja 0.92929292
en 0.96954316
fr 0.043500196

googletrans.models

class googletrans.models.Translated(srcdestorigintextpronunciationextra_data=None)

翻译结果对象

参数:

  • src  -  source langauge(默认值:auto)
  • dest  - 目标语言(默认值:en)
  • 来源 - 原文
  • 文本 - 翻译文本
  • 发音 - 发音

class googletrans.models.Detected(langconfidence)
       语言检测结果对象

参数:

googletrans.gtoken

示意

  • lang - 检测到的语言
  • confidence - 检测结果的置信度(0.00到1.00)

这仅供内部使用,以生成有效的令牌以访问translate.google.com ajax API。

class googletrans.gtoken.TokenAcquirer(tkk='0'session=Nonehost='translate.google.com')

Google Translate API令牌生成器

translate.google.com使用令牌来授权请求。 如果您不是Google,则可以使用此令牌,并且必须付费才能使用。 此类是对Google用于生成此类令牌的混淆和缩小代码进行逆向工程的结果。

令牌基于每小时更新一次的种子以及将要翻译的文本。 两者结合 - 通过一些奇怪的数学 - 来生成最终令牌(例如744915.856682),API使用该令牌来验证请求。

此操作将导致额外请求从translate.google.com获取初始令牌。

用法示例:

>>> from googletrans.gtoken import TokenAcquirer
>>> acquirer = TokenAcquirer()
>>> text = 'test'
>>> tk = acquirer.do(text)
>>> tk
950629.577246

googletrans.LANGUAGES

示意

iso639-1语言代码,用于支持翻译语言。 一些语言代码还包括国家代码,如zh-CN或zh-TW。

LANGUAGES = {'af': 'afrikaans','sq': 'albanian','am': 'amharic','ar': 'arabic','hy': 'armenian','az': 'azerbaijani','eu': 'basque','be': 'belarusian','bn': 'bengali','bs': 'bosnian','bg': 'bulgarian','ca': 'catalan','ceb': 'cebuano','ny': 'chichewa','zh-cn': 'chinese (simplified)','zh-tw': 'chinese (traditional)','co': 'corsican','hr': 'croatian','cs': 'czech','da': 'danish','nl': 'dutch','en': 'english','eo': 'esperanto','et': 'estonian','tl': 'filipino','fi': 'finnish','fr': 'french','fy': 'frisian','gl': 'galician','ka': 'georgian','de': 'german','el': 'greek','gu': 'gujarati','ht': 'haitian creole','ha': 'hausa','haw': 'hawaiian','iw': 'hebrew','hi': 'hindi','hmn': 'hmong','hu': 'hungarian','is': 'icelandic','ig': 'igbo','id': 'indonesian','ga': 'irish','it': 'italian','ja': 'japanese','jw': 'javanese','kn': 'kannada','kk': 'kazakh','km': 'khmer','ko': 'korean','ku': 'kurdish (kurmanji)','ky': 'kyrgyz','lo': 'lao','la': 'latin','lv': 'latvian','lt': 'lithuanian','lb': 'luxembourgish','mk': 'macedonian','mg': 'malagasy','ms': 'malay','ml': 'malayalam','mt': 'maltese','mi': 'maori','mr': 'marathi','mn': 'mongolian','my': 'myanmar (burmese)','ne': 'nepali','no': 'norwegian','ps': 'pashto','fa': 'persian','pl': 'polish','pt': 'portuguese','pa': 'punjabi','ro': 'romanian','ru': 'russian','sm': 'samoan','gd': 'scots gaelic','sr': 'serbian','st': 'sesotho','sn': 'shona','sd': 'sindhi','si': 'sinhala','sk': 'slovak','sl': 'slovenian','so': 'somali','es': 'spanish','su': 'sundanese','sw': 'swahili','sv': 'swedish','tg': 'tajik','ta': 'tamil','te': 'telugu','th': 'thai','tr': 'turkish','uk': 'ukrainian','ur': 'urdu','uz': 'uzbek','vi': 'vietnamese','cy': 'welsh','xh': 'xhosa','yi': 'yiddish','yo': 'yoruba','zu': 'zulu','fil': 'Filipino','he': 'Hebrew'
}LANGCODES = dict(map(reversed, LANGUAGES.items()))

谷歌翻译API-python接口-Googletrans相关推荐

  1. 为支持两个语言版本,我基于谷歌翻译API写了一款自动翻译的 webpack 插件

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  2. node调用谷歌翻译Api,实现自动国际化

    原因: 项目国际化过程繁琐,每次都需要人工去google翻译,导致工作效率不高. 需求: 1.减少人工的重复劳动,提高工作效率. 2.使用脚本调用谷歌翻译接口自动化翻译. 3.free,作为程序员肯定 ...

  3. 谷歌自动翻译-谷歌翻译api怎样能打开网页默认自动翻译

    问题描述 谷歌翻译api怎样能打开网页默认自动翻译 <br> function googleTranslateElementInit() {<br> new google.tr ...

  4. 转:利用python调用谷歌翻译API

    废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语种,对,小语种,俄语,法语...英语还可以勉强应付一下,但是其他真的是一个字母都不认识 ...

  5. 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)

    需求: 1)偶尔需要查英文生词: 2)有时候想不起来中文对应的英文: 3)不想回到浏览器打开一堆网页: 4)谷歌翻译挂了. 偶尔需要的需求: 1)短句翻译. 因为谷歌翻译挂了,首先,排除最热门的翻译插 ...

  6. 百度翻译图片翻译API Python调用

    百度翻译的图片翻译API效果还不错,能实现整图的译文实景贴合,对于部分场景很有帮助,我也尝试着接入了下. 实现需求:本地的文件夹有n张图片,将这些图片挨个去请求百度的图片翻译API,然后将识别结果分别 ...

  7. 利用微软翻译API替代被停用谷歌翻译API

    众所周知,谷歌已经不支持翻译API1版本了,现在提供了API2的版本,主要是面对企业级用户,需要收费的.无奈之下使用微软提供的翻译API. 一.首先去[url]http://code.google.c ...

  8. Java 破解谷歌翻译api,可以实现程序自动化翻译文章

    1  原理:查看谷歌翻译网站,输入需要翻译的文字,选择语言得到翻译后的文字,发送异步请求参数返回结果.java使用httpclient发送请求,实现使用代码翻译文章的功能. 2  下载代码后,测试入口 ...

  9. 淘宝api Python 接口升级 3.0 版本 主要解决图片上传问题

    因为自学 python  工作中会经常用到淘宝Api调用数据    一直以来后台下载的淘宝Api 都是2.7版本 还是12年 lihao同学编写,一直没有升级 用Python 自带的2to3脚本工具升 ...

  10. PHP版本百度翻译有道云翻译讯飞云翻译api相关接口

    <?php$arr = ['注:充值后如未及时到账,请联系客服处理'=>"Nota: se não chegar a tempo após recarregar, por fav ...

最新文章

  1. 将特定像素点在图像上连接起来_(NeurIPS 2019) Gated CRF Loss-一种用于弱监督图像语义分割的新型损失函数...
  2. SpringBoot笔记:SpringBoot集成MinIO分布式文件系统
  3. 读写分离和负载均衡介绍
  4. 三维CNN:收集一些最近的3d卷积网络PointNet++
  5. 工作252:uniapp--实战--uview---tabber
  6. Android优秀开源项目大全
  7. Docker学习总结(51)——为什么不建议把数据库部署在 Docker 容器内的7大原因?
  8. 涂鸦智能传感合作伙伴大会圆满落幕,打造安防传感新生态
  9. 若依二次开发添加 select 下拉框 变大 和 有空格存在
  10. Linux系统中打开文件数量的查看方法
  11. Java读取mapinfo格式_mapInfo文件格式详解
  12. jsmind 线条_使用jsMind显示思维导图
  13. 阿里云服务器设置安全组最新图文教程 新手必看!
  14. 目标群体是什么意思_什么是目标客户群体?求解
  15. Python代码实现将png格式图片批量转换为jpg个格式
  16. 用python编写倒计时_python如何倒计时
  17. 手表无线充电控制芯片方案的原理分析主控SOP8外置挂个AO3400或SI2302
  18. PLC程序的调试方法及步骤
  19. PE文件资源解析(十一)对话框资源的解析
  20. Lodop横向打印,正向显示问题

热门文章

  1. 百度itextpdf工具类,快速生成PDF打印模板,itextpdf5加公章
  2. 怎么把黑白照片还原成彩色?三个方法让你一键搞定黑白照片上色
  3. 如何 ping ip 加 端口
  4. 什么是GSD文件以及如何在STEP7和TIA博途中安装GSD文件?
  5. java war 打包、解压命令
  6. win7 flash 提示加载失败
  7. 如何使用JSZip(How to use JSZip)
  8. python处理葵花8 netCDF4(nc格式)数据
  9. CAD 部分快捷键注释
  10. 利用python的pyqt5和vtk库实现对gcode模型的全彩预览