我在 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/