推荐书: Python开发最佳实践

使用谷歌翻译接口进行句子翻译

分享时@该用户已经被封, 我就能回答你的问题奥!

文章目录
  1. 1. 简介
  2. 2. 安装
  3. 3. 代码测试
  4. 4. 所有支持的语言预览
  5. 5. 注意事项


本文代码运行环境:

  • windows10
  • python3.6
  • jupyter notebook
  • 作者mlln.cn, 转载请注明出处!

简介

Googletrans是一个免费且无限使用的python库,封装了谷歌翻译的网页版。不过它使用Google Translate Ajax API来调用detect和translate之类的方法。

它有如下特征:

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

安装

安装方法很简单, 因为我在notebook中使用, 所以直接使用pip命令进行安装:

1
!pip install googletrans -U
输出(stream):
Looking in indexes: https://mirrors.ustc.edu.cn/pypi/web/simple
Collecting googletrans
Downloading https://mirrors.ustc.edu.cn/pypi/web/packages/49/0f/eac53560e99a6b1e3b3e18e8b98f0e0041bfc4f1ee1e1b74cdf5530786d0/googletrans-2.3.0.tar.gz
Requirement already satisfied: requests in d:\mysites\deeplearning.ai-master\.env\lib\site-packages (from googletrans) (2.18.4)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in d:\mysites\deeplearning.ai-master\.env\lib\site-packages (from requests->googletrans) (3.0.4)
Requirement already satisfied: idna<2.7,>=2.5 in d:\mysites\deeplearning.ai-master\.env\lib\site-packages (from requests->googletrans) (2.6)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in d:\mysites\deeplearning.ai-master\.env\lib\site-packages (from requests->googletrans) (1.22)
Requirement already satisfied: certifi>=2017.4.17 in d:\mysites\deeplearning.ai-master\.env\lib\site-packages (from requests->googletrans) (2018.4.16)
Building wheels for collected packages: googletrans
Running setup.py bdist_wheel for googletrans: started
Running setup.py bdist_wheel for googletrans: finished with status 'done'
Stored in directory: C:\Users\syd\AppData\Local\pip\Cache\wheels\ba\f2\11\84e336d798cae9a9ebdaa1fdca57460cb0e5c258555963b61c
Successfully built googletrans
Installing collected packages: googletrans
Successfully installed googletrans-2.3.0
输出(stream):
You are using pip version 18.0, however version 18.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

代码测试

1
2
#### 引入用到的模块
from googletrans import Translator
1
2
3
4
5
# 实例化一个Translator
translator = Translator()
# 自动翻译
translator.translate('你好, 世界!')
# f返回一个Translated类
输出(plain):
  • 指定翻译的目标语言
1
translator.translate('你好, 世界!', dest='en')
输出(plain):
  • 指定来源语言
1
translator.translate('你好, 世界!', src='zh-cn')
输出(plain):
  • 指定使用的api地址
1
2
3
4
translator = Translator(service_urls=[
'translate.google.com.hk',
'translate.google.co.kr',
])
  • 一次翻译多个语句
1
2
3
translations = translator.translate(['The quick brown fox', 'jumps over', 'the lazy dog'], dest='zh-cn')
for translation in translations:
print(translation.origin, ' -> ', translation.text)
输出(stream):
The quick brown fox -> 快速的棕色狐狸
jumps over -> 跳过来
the lazy dog -> 懒狗
  • 推断语言
1
2
3
langs = translator.detect(['한국어', '日本語', 'English', 'le français'])
for lang in langs:
print(lang.lang, lang.confidence)
输出(stream):
ko 1
ja 0.96244651
en 1
fr 0.95032448

所有支持的语言预览

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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'
}

注意事项

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

注意
本文由jupyter notebook转换而来, 您可以在这里下载notebook
有问题可以直接在下方留言
或者给我发邮件675495787[at]qq.com
请记住我的网址: mlln.cn 或者 jupyter.cn