如何解决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 举报,一经查实,本站将立刻删除。