微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python中Wikipedia API中的DisambiguationError和GuessedAtParserWarning

如何解决Python中Wikipedia API中的DisambiguationError和GuessedAtParserWarning

我想获取Wikipedia与搜索词相关的可能和可接受的名称的列表。在这种情况下是“电晕”。
输入时:
public function __construct() { $this->middleware("auth:api",["except" => ["login","refresh"]]); }

这给出的输出是:

print(wikipedia.summary("Corona"))

之后还有更多这些名称

我只需要名称列表,而不想要/home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py:389: GuessedAtParserWarning: No parser was explicitly specified,so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem,but if you run this code on another system,or in a different virtual environment,it may use a different parser and behave differently. The code that caused this warning is on line 389 of the file /home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py. To get rid of this warning,pass the additional argument 'features="lxml"' to the BeautifulSoup constructor. lis = BeautifulSoup(html).find_all('li') Traceback (most recent call last): File "<stdin>",line 1,in <module> File "/home/virej/.local/lib/python3.8/site-packages/wikipedia/util.py",line 28,in __call__ ret = self._cache[key] = self.fn(*args,**kwargs) File "/home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py",line 231,in summary page_info = page(title,auto_suggest=auto_suggest,redirect=redirect) File "/home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py",line 276,in page return WikipediaPage(title,redirect=redirect,preload=preload) File "/home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py",line 299,in __init__ self.__load(redirect=redirect,line 393,in __load raise disambiguationError(getattr(self,'title',page['title']),may_refer_to) wikipedia.exceptions.disambiguationError: "Corona" may refer to: Stellar corona Severe acute respiratory syndrome coronavirus 2 Coronavirus disease 2019 COVID-19 pandemic Corona (beer) cornice The Corona,Canterbury Cathedral Corona (fictional world) Doraemon: Nobita to Mittsu no Seireiseki Spider Riders Tangled Super Mario Sunshine Corona (novel) Paul Celan Samuel R. Delany Corona (band) cantus GuessedAtParserWarning

如何实现?

解决方法

首先,使用pip install wikipedia从PyPI安装模块。 安装模块import wikipedia后 然后print(wikipedia.summary("Corona"))

如果您已满足上述要求,但仍然发生错误,请执行以下操作

import warnings

warnings.catch_warnings()

warnings.simplefilter("ignore")

仍然,发生错误 使用异常处理:

try:
 print(wikipedia.summary("Corona"))
except wikipedia.exceptions.DisambiguationError as e:
  print(e.options)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。