谷歌翻译API-python接口-Googletrans
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=None, user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64)', proxies=None, timeout=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
(text, dest='en', src='auto')
将文本从源语言翻译为目标语言
参数:
- text(UTF-8 str; unicode;字符串序列(list,tuple,iterator,generator)) - 要翻译的源文本。 通过序列输入支持批量转换。
- dest - 将源文本转换为的语言。 该值应为googletrans.LANGUAGES中列出的语言代码之一或googletrans.LANGCODES中列出的语言名称之一。
- dest –
str
;unicode
- src - 源文本的语言。 该值应为googletrans.LANGUAGES中列出的语言代码之一或googletrans.LANGCODES中列出的语言名称之一。 如果未指定语言,系统将尝试自动识别源语言。
- src –
str
;unicode
返回类型: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
(src, dest, origin, text, pronunciation, extra_data=None)
翻译结果对象
参数:
- src - source langauge(默认值:auto)
- dest - 目标语言(默认值:en)
- 来源 - 原文
- 文本 - 翻译文本
- 发音 - 发音
class googletrans.models.
Detected
(lang, confidence)
语言检测结果对象
参数:
googletrans.gtoken
示意
- lang - 检测到的语言
- confidence - 检测结果的置信度(0.00到1.00)
这仅供内部使用,以生成有效的令牌以访问translate.google.com ajax API。
class googletrans.gtoken.
TokenAcquirer
(tkk='0', session=None, host='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相关推荐
- 为支持两个语言版本,我基于谷歌翻译API写了一款自动翻译的 webpack 插件
大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...
- node调用谷歌翻译Api,实现自动国际化
原因: 项目国际化过程繁琐,每次都需要人工去google翻译,导致工作效率不高. 需求: 1.减少人工的重复劳动,提高工作效率. 2.使用脚本调用谷歌翻译接口自动化翻译. 3.free,作为程序员肯定 ...
- 谷歌自动翻译-谷歌翻译api怎样能打开网页默认自动翻译
问题描述 谷歌翻译api怎样能打开网页默认自动翻译 <br> function googleTranslateElementInit() {<br> new google.tr ...
- 转:利用python调用谷歌翻译API
废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语种,对,小语种,俄语,法语...英语还可以勉强应付一下,但是其他真的是一个字母都不认识 ...
- 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)
需求: 1)偶尔需要查英文生词: 2)有时候想不起来中文对应的英文: 3)不想回到浏览器打开一堆网页: 4)谷歌翻译挂了. 偶尔需要的需求: 1)短句翻译. 因为谷歌翻译挂了,首先,排除最热门的翻译插 ...
- 百度翻译图片翻译API Python调用
百度翻译的图片翻译API效果还不错,能实现整图的译文实景贴合,对于部分场景很有帮助,我也尝试着接入了下. 实现需求:本地的文件夹有n张图片,将这些图片挨个去请求百度的图片翻译API,然后将识别结果分别 ...
- 利用微软翻译API替代被停用谷歌翻译API
众所周知,谷歌已经不支持翻译API1版本了,现在提供了API2的版本,主要是面对企业级用户,需要收费的.无奈之下使用微软提供的翻译API. 一.首先去[url]http://code.google.c ...
- Java 破解谷歌翻译api,可以实现程序自动化翻译文章
1 原理:查看谷歌翻译网站,输入需要翻译的文字,选择语言得到翻译后的文字,发送异步请求参数返回结果.java使用httpclient发送请求,实现使用代码翻译文章的功能. 2 下载代码后,测试入口 ...
- 淘宝api Python 接口升级 3.0 版本 主要解决图片上传问题
因为自学 python 工作中会经常用到淘宝Api调用数据 一直以来后台下载的淘宝Api 都是2.7版本 还是12年 lihao同学编写,一直没有升级 用Python 自带的2to3脚本工具升 ...
- PHP版本百度翻译有道云翻译讯飞云翻译api相关接口
<?php$arr = ['注:充值后如未及时到账,请联系客服处理'=>"Nota: se não chegar a tempo após recarregar, por fav ...
最新文章
- 将特定像素点在图像上连接起来_(NeurIPS 2019) Gated CRF Loss-一种用于弱监督图像语义分割的新型损失函数...
- SpringBoot笔记:SpringBoot集成MinIO分布式文件系统
- 读写分离和负载均衡介绍
- 三维CNN:收集一些最近的3d卷积网络PointNet++
- 工作252:uniapp--实战--uview---tabber
- Android优秀开源项目大全
- Docker学习总结(51)——为什么不建议把数据库部署在 Docker 容器内的7大原因?
- 涂鸦智能传感合作伙伴大会圆满落幕,打造安防传感新生态
- 若依二次开发添加 select 下拉框 变大 和 有空格存在
- Linux系统中打开文件数量的查看方法
- Java读取mapinfo格式_mapInfo文件格式详解
- jsmind 线条_使用jsMind显示思维导图
- 阿里云服务器设置安全组最新图文教程 新手必看!
- 目标群体是什么意思_什么是目标客户群体?求解
- Python代码实现将png格式图片批量转换为jpg个格式
- 用python编写倒计时_python如何倒计时
- 手表无线充电控制芯片方案的原理分析主控SOP8外置挂个AO3400或SI2302
- PLC程序的调试方法及步骤
- PE文件资源解析(十一)对话框资源的解析
- Lodop横向打印,正向显示问题