我在 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'))

产生一个错误:



我该如何调试这个错误?

最佳答案

如文档中所述,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 的源代码中,code 表示一种 json 编码方法,但显然谷歌在这里已经决定简单确实比复杂好。

这个问题已经在 https://github.com/sloria/TextBlob/issues/117 中提到了。

关于Python textblob 翻译 API 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35420602/

10-11 18:02