python - textblob .detect_language() 函数不起作用
问题描述
所以我一直在尝试编码,目前正在寻找一些语言检测包,并发现了有关 textblob 的信息,但我遇到了一些问题。这是我的代码:
# - *- coding: utf- 8 - *-
from textblob import TextBlob
blob = TextBlob("Comment vas-tu?")
print(blob.detect_language())
print(blob.translate(to='es'))
print(blob.translate(to='en'))
print(blob.translate(to='zh'))
这个错误显示:
Traceback (most recent call last):
File "C:\Users\*****\PycharmProjects\pythonProject\main.py", line 6, in <module>
print(blob.detect_language())
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\site-packages\textblob\blob.py", line 568, in detect_language
return self.translator.detect(self.raw)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\site-packages\textblob\translate.py", line 72, in detect
response = self._request(url, host=host, type_=type_, data=data)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\site-packages\textblob\translate.py", line 92, in _request
resp = request.urlopen(req)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 523, in open
response = meth(req, response)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 632, in http_response
response = self.parent.error(
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 561, in error
return self._call_chain(*args)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 494, in _call_chain
result = func(*args)
File "C:\Users\*****\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
Process finished with exit code 1
我仍然是编程的初学者......我可以问我能做些什么来解决这个问题吗?
解决方案
您可以通过在 translate.py 文件中进行一些更改来使其工作,如下所述: 原始:
url = "http://translate.google.com/translate_a/t?client=webapp&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=at&ie=UTF-8&oe=UTF-8&otf=2&ssel=0&tsel=0&kc=1"
将上面的代码更改为:
url = "http://translate.google.com/translate_a/t?client=te&format=html&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=at&ie=UTF-8&oe=UTF-8&otf=2&ssel=0&tsel=0&kc=1"
有关更多详细信息,请访问此链接:“HTTPError: HTTP Error 404: Not Found” while using translation function in TextBlob
推荐阅读
- bash - 为什么不能将 tee 命令的标准输出重定向到 /dev/null
- silverstripe - 如何配置 silverstripe 4 以使用 BLOB 字段而不是文件系统
- reactjs - 使用汇总捆绑反应本机应用程序
- android - 如何在android中将一个布局保持在另一个布局之上
- c# - 将 VB6 err 对象的用法转换为 C#
- javascript - 在网站打开时更改一次 CSS 属性
- docusignapi - DocuSign REST API。可以更改用户的电子邮件地址吗?
- lambda - Lambda 表达式 JAVA-8
- compression - unrar 的默认大小单位是多少?
- jquery - 如何更改jsp中选择框下拉列表中的悬停颜色