python - googletrans 停止工作,出现错误 'NoneType' 对象没有属性 'group'

标签 python nlp google-translate googletrans

我正在尝试 googletrans 并且效果很好。从今天早上开始,我开始出现以下错误。我浏览了 stackoverflow 和其他网站的多篇帖子,发现我的 IP 可能被禁止使用该服务一段时间。我尝试使用具有不同 IP 的多个服务提供商互联网,但仍然面临同样的问题?我还尝试在不同的笔记本电脑上使用 googletrans ,仍然存在同样的问题。googletrans 包是否已损坏或 google 最后做了什么?

>>> 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'

最佳答案

更新 06.12.20:发布了带有修复程序的新“官方”alpha 版 googletrans

像这样安装 alpha 版本:

pip install googletrans==3.1.0a0

翻译示例:

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'

如果它不起作用,请尝试指定服务 URL,如下所示:

from googletrans import Translator
translator = Translator(service_urls=['translate.googleapis.com'])
translator.translate("Der Himmel ist blau und ich mag Bananen", dest='en')

有关详细信息和更新,请参阅此处的讨论:https://github.com/ssut/py-googletrans/pull/237

更新 10.12.20:发布了另一个修复

正如 @DesiKeki 和 @Ahmed Breem 所指出的,还有另一个修复似乎对几个人有效:

pip install googletrans==4.0.0-rc1

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

关于python - googletrans 停止工作,出现错误 'NoneType' 对象没有属性 'group',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52755284/

相关文章:

java - Spring RestTemplate POST 与 Google Translate API

python - 读取文本文件并添加子字符串(python)

python - 我的 Django 项目静态文件无法使用选项 debug=false 加载

python - 如何使用 python 找到一个好的分散 key 的方法

Python 谷歌翻译 API 错误

java - 如何从谷歌翻译短语手册中获取单词?

python - pyspark.ml.classification.DecisionTreeClassificationModel 中的 pyspark.mllib.tree.DecisionTreeModel.toDebugString() 的等效项 - 在 PYTHON 中

python - 为什么 pyparser 的 asDict() 返回一个空的字典而不是一个列表?

java - 使用在 SPARQL 查询内的查询字符串外部声明的变量 - 使用 JSP 和 Java Servlet

nlp - 使用 ARPA LM 数据计算概率的正确方法