Python textblob Translation API错误

我已经在
Windows上使用
Python 2.7.10中的textblob很长一段时间了,而且意外地,它停止了工作.使用两个独立的虚拟机以及OS X进行测试会产生相同的错误.

测试docs中的简单片段:

    from textblob import TextBlob
    en_blob = TextBlob(u'Simple is better than complex.')
    print(en_blob.translate(to='es'))

产生错误:

06001

我该如何调试此错误?

最佳答案 正如文档中所提到的,Textblob使用
Google Translate API进行翻译.

显然,这个(未记录的)API改变了它的输出格式.我能用这个片段做一个成功的请求:

import requests
url = 'http://translate.google.com/translate_a/t'
params = {
    "text": "Simple is better than complex", 
    "sl": "en", 
    "tl": "es", 
    "client": "p"
}
print(requests.get(url, params=params).content)

>> '"Simple es mejor que complejo"'

在textblob的源代码中,代码表示json编码方法,但显然Google在这里决定简单确实比复杂更好.

此问题已在https://github.com/sloria/TextBlob/issues/117中提及.

点赞