我正在努力googletrans,它运作得很好.从今天早上起,我开始低于错误.我经历了stackoverflow和其他网站的多个帖子,发现可能我的ip被禁止使用该服务一段时间.我尝试使用多个服务提供商互联网,有不同的IP和stil面临同样的问题?我也尝试googletrans在不同的笔记本电脑上使用,仍然是同样的问题.. googletrans包装破损或谷歌在他们的最后做了什么?
>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.translate('?????.')
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
translator.translate('?????.')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googletrans/client.py", line 172, in translate
data = self._translate(text, dest, src)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googletrans/client.py", line 75, in _translate
token = self.token_acquirer.do(text)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googletrans/gtoken.py", line 180, in do
self._update()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googletrans/gtoken.py", line 59, in _update
code = unicode(self.RE_TKK.search(r.text).group(1)).replace('var ', '')
AttributeError: 'NoneType' object has no attribute 'group'
Run Code Online (Sandbox Code Playgroud)
Mor*_*itz 113
像这样安装 alpha 版本:
pip install googletrans==3.1.0a0
Run Code Online (Sandbox Code Playgroud)
翻译示例:
translator = Translator()
translation = translator.translate("Der Himmel ist blau und ich mag Bananen", dest='en')
print(translation.text)
#output: 'The sky is blue and I like bananas'
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,请尝试像这样指定服务 url:
from googletrans import Translator
translator = Translator(service_urls=['translate.googleapis.com'])
translator.translate("Der Himmel ist blau und ich mag Bananen", dest='en')
Run Code Online (Sandbox Code Playgroud)
有关详细信息和更新,请参阅此处的讨论:https : //github.com/ssut/py-googletrans/pull/237
正如@DesiKeki 和@Ahmed Breem 所指出的,还有一个似乎对几个人都有效的修复方法:
pip install googletrans==4.0.0-rc1
Run Code Online (Sandbox Code Playgroud)
Github 讨论在这里:https : //github.com/ssut/py-googletrans/issues/234#issuecomment-742460612
如果以上对您不起作用,google_trans_new似乎是对某些人有效的不错选择。目前尚不清楚为什么上述修复对某些人有效而对其他人无效。在此处查看有关安装和使用的详细信息:https : //github.com/lushan88a/google_trans_new
#pip install google_trans_new
from google_trans_new import google_translator
translator = google_translator()
translate_text = translator.translate('?????????',lang_tgt='en')
print(translate_text)
#output: Hello china
Run Code Online (Sandbox Code Playgroud)
bud*_*mat 51
不幸的是,尽管有许多建议的修复方案,但我googletrans既不能工作也不能工作。google_trans_new
我的解决方案是切换到deep_translator包:
pip install -U deep-translator
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用它:
>>> from deep_translator import GoogleTranslator
>>> GoogleTranslator(source='auto', target='de').translate("keep it up, you are awesome")
'weiter so, du bist toll'
Run Code Online (Sandbox Code Playgroud)
请参阅文档以获取更多信息。
小智 41
试试 google_trans_new。它为我解决了这个问题 https://github.com/lushan88a/google_trans_new
pip install google_trans_new
from google_trans_new import google_translator
translator = google_translator()
translate_text = translator.translate('Hola mundo!', lang_src='es', lang_tgt='en')
print(translate_text)
-> Hello world!
Run Code Online (Sandbox Code Playgroud)
Mal*_*dus 25
显然,这是谷歌最近普遍存在的一个问题.引用各种Github讨论,当Google直接向您发送原始令牌时,就会发生这种情况.
它现在正在讨论,并且已经有一个拉动请求来修复它,因此应该在接下来的几天内解决.
供参考,请参阅:
https://github.com/ssut/py-googletrans/issues/48 < - 在Github repo https://github.com/pndurette/gTTS/issues/60上报告完全相同的问题 < - 看似相同的问题文本到语音库 https://github.com/ssut/py-googletrans/pull/78 < - 提出解决问题的请求
要应用此补丁(无需等待拉取请求被接受),只需从分叉回购https://github.com/BoseCorp/py-googletrans.git安装库(首先卸载官方库):
$ pip uninstall googletrans
$ git clone https://github.com/BoseCorp/py-googletrans.git
$ cd ./py-googletrans
$ python setup.py install
Run Code Online (Sandbox Code Playgroud)
您可以在系统的任何位置克隆它,并在全局或内部安装它virtualenv.
Har*_*jah 21
截至 2021 年 9 月更新答案
pip uninstall googletrans==4.0.0-rc1
pip install googletrans==3.1.0a0
Run Code Online (Sandbox Code Playgroud)
3.1.0a0 版本也支持批量翻译!
Ker*_*rem 10
以下是Darkblader24中提到的这个问题的非官方修复:https://github.com/ssut/py-googletrans/pull/78
像这样更新gtoken.py:
RE_TKK = re.compile(r'TKK=eval\(\'\(\(function\(\)\{(.+?)\}\)\(\)\)\'\);',
re.DOTALL)
RE_RAWTKK = re.compile(r'TKK=\'([^\']*)\';',re.DOTALL)
def __init__(self, tkk='0', session=None, host='translate.google.com'):
self.session = session or requests.Session()
self.tkk = tkk
self.host = host if 'http' in host else 'https://' + host
def _update(self):
"""update tkk
"""
# we don't need to update the base TKK value when it is still valid
now = math.floor(int(time.time() * 1000) / 3600000.0)
if self.tkk and int(self.tkk.split('.')[0]) == now:
return
r = self.session.get(self.host)
rawtkk = self.RE_RAWTKK.search(r.text)
if rawtkk:
self.tkk = rawtkk.group(1)
return
Run Code Online (Sandbox Code Playgroud)
小智 10
10.12.20 更新:发布新的 Alpha 版本(候选稳定版):4.0.0-rc1
它可以安装如下:
pip install googletrans==4.0.0-rc1
Run Code Online (Sandbox Code Playgroud)
用法:
translation = translator.translate('? ??? ??? ??????.', dest='en')
print(translation.text)
>>This sentence is written in Korean.
detected_lang = translator.detect('mein english me hindi likh raha hoon')
print(detected_lang)
>>Detected(lang=hi, confidence=None)
detected_lang = translator.detect('? ??? ??? ??????.')
print(detected_lang)
>>Detected(lang=ko, confidence=None)
Run Code Online (Sandbox Code Playgroud)
小智 6
修复在这里https://pypi.org/project/py-translator/
$ pip3 install py_translator == 1.8.9
from py_translator import Translator
s = Translator().translate(text='Hello my friend', dest='es').text
print(s)
Run Code Online (Sandbox Code Playgroud)
出:Hola mi amigo
pip uninstall googletrans googletrans-temp
pip install googletrans-temp
Run Code Online (Sandbox Code Playgroud)
从2019.2.24开始在Win10和Ubuntu 16(Python 3.6)中为我工作-请参阅https://github.com/ssut/py-googletrans/issues/94中的答复之一。旧的修复程序pip install git+https://github.com/BoseCorp/py-googletrans.git --upgrade在这里不再起作用。
小智 5
这对我有用:
pip install googletrans==4.0.0-rc1
Run Code Online (Sandbox Code Playgroud)
原始答案可以在这里找到:https : //github.com/ssut/py-googletrans/issues/234#issuecomment-742460612
到此答案时,您可以使用以下方法解决它:
卸载已安装的版本
pip uninstall googletrans
Run Code Online (Sandbox Code Playgroud)
安装以下版本
pip install googletrans==4.0.0rc1
Run Code Online (Sandbox Code Playgroud)
我希望这对你有用,因为它对我有用。
你现在可以试试:
from googletrans import Translator
translator = Translator()
ar = translator.translate('?????').text
print(ar)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13752 次 |
| 最近记录: |