Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中Wikipedia API中的消歧错误和GuessedAtParserWarning_Python_Python 3.x_Wikipedia_Wikipedia Api - Fatal编程技术网

Python中Wikipedia API中的消歧错误和GuessedAtParserWarning

Python中Wikipedia API中的消歧错误和GuessedAtParserWarning,python,python-3.x,wikipedia,wikipedia-api,Python,Python 3.x,Wikipedia,Wikipedia Api,我想得到一个可能的和可接受的名字列表,维基百科已经与搜索词相关。“电晕”在这种情况下。 键入时: print(维基百科摘要(“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 H

我想得到一个可能的和可接受的名字列表,维基百科已经与搜索词相关。“电晕”在这种情况下。
键入时:
print(维基百科摘要(“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, preload=preload)
  File "/home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py", 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
/home/virej/.local/lib/python3.8/site packages/wikipedia/wikipedia.py:389:GuessedAtParserWarning:没有明确指定语法分析器,因此我正在使用此系统可用的最佳HTML语法分析器(“lxml”)。这通常不是问题,但如果您在另一个系统上或在不同的虚拟环境中运行此代码,它可能会使用不同的解析器并表现出不同的行为。
导致此警告的代码位于文件/home/virej/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py的第389行。要消除此警告,请将附加参数'features=“lxml”'传递给BeautifulSoup构造函数。
lis=BeautifulSoup(html)。查找所有('li'))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/virej/.local/lib/python3.8/site packages/wikipedia/util.py”,第28行,在调用中__
ret=self.\u缓存[key]=self.fn(*args,**kwargs)
文件“/home/virej/.local/lib/python3.8/site packages/wikipedia/wikipedia.py”,第231行,摘要
页面信息=页面(标题,自动建议=自动建议,重定向=重定向)
文件“/home/virej/.local/lib/python3.8/site packages/wikipedia/wikipedia.py”,第276行,第页
返回WikipediaPage(标题,重定向=重定向,预加载=预加载)
文件“/home/virej/.local/lib/python3.8/site packages/wikipedia/wikipedia.py”,第299行,在__
自加载(重定向=重定向,预加载=预加载)
文件“/home/virej/.local/lib/python3.8/site packages/wikipedia/wikipedia.py”,第393行,加载
引发消歧错误(getattr(自我,“标题”,第[“标题]]页),可参考)
wikipedia.exceptions.DisambizationError:“Corona”可能指:
恒星日冕
严重急性呼吸系统综合征冠状病毒2型
2019冠状病毒疾病
新冠肺炎大流行
科罗纳(啤酒)
檐口
坎特伯雷大教堂科罗纳酒店
科罗纳(虚构世界)
哆啦A梦:大雄对米津无精
蜘蛛骑士
纠结
阳光马里奥
科罗纳(小说)
保罗·策兰
德雷尼
电晕(带)
曲调
然后是更多的这些名字

我想要的只是姓名列表,而不是
GuessedAtParserWarning
消歧错误


如何实现这一点?

首先,使用
pip安装wikipedia
从PyPI安装模块。 安装模块后,
导入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)

好的,执行此操作
import warnings.catch\u warnings()warnings.simplefilter(“ignore”)
此操作仍不起作用。它抛出的错误和警告与before@VirejDasani尝试以下操作:
try:print(wikipedia.summary(“Corona”))除了wikipedia.exceptions.dis歧义错误为e:print(e.options)