01_googletrans 初體驗
googletrans 是一個免費的、可調用Google Translate API接口的python庫。它藉助Google Translate Ajax API接口來實現文本的檢測和翻譯。
windows系統下,可以使用如下命令進行安裝:
$ pip install googletrans
安裝完成後,我們測試下googletrans的功能:
$ from googletrans import Translator
$ translator = Translator()
$ translator.translate(‘안녕하세요.’)
上述代碼理論上能夠識別出括號內的語言種類(ko),並能將其翻譯爲英文(Good evening)。但在代碼執行時報錯如下:
Traceback (most recent call last):
File “xxxx\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\connection.py”, line 171, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File “xxxx\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\util\connection.py”, line 79, in create_connection
raise err
File “xxxx\AppData\Local\Programs\Python\Python36\lib\site-packages\urllib3\util\connection.py”, line 69, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] 由於連接方在一段時間後沒有正確答覆或連接的主機沒有反應,連接嘗試失敗。
解決辦法如下:
$ pip uninstall googletrans
$ git clone https://github.com/BoseCorp/py-googletrans.git
$ cd ./py-googletrans
然後在py-googletrans\googletrans文件夾內找到client.py、gtoken.py、urls.py文件,將其內部的translate.google.com替換爲translate.google.cn,再執行如下命令:
$ python setup.py install
我們再來嘗試下之前的翻譯:
>>> from googletrans import Translator
>>> translator = Translator()
>>> data=translator.translate('안녕하세요.')
>>> data.dest
'en'
>>> data.text
'Hi.'
>>> data.src
'ko'
之前的錯誤已經解決,googletrans可以識別出源文件的語言格式以及可以翻譯爲對應的英文。
關於 googletrans 的基本用法可以參考文檔連接:http://py-googletrans.rtfd.io/
以 googletrans.models 中的參數爲例:
>>> data=translator.translate('이 문장은 한글로 쓰여졌습니다.',dest='zh-cn')
>>> data.src
'ko'
>>> data.dest
'zh-cn'
>>> data.text
'這句話是用韓文寫的。'
>>>