在python中使用维基百科导入模块时出现歧义消除错误



在我的代码中使用维基百科模块时,我遇到了一个歧义消除错误。

**我的代码:

import wikipedia
print("Using Wikipedia")
while True:
input = input("Question: ")
print(wikipedia.summary(input))

**输出:

Using Wikipedia
Question:

在此之前,一切都很好,但当用户提出问题时,似乎出现了问题。然而,对于大多数问题来说都没有问题;狗";,会弹出一个错误。(这个问题也会出现在其他几个问题中,并且不仅限于狗(

**错误:

/home/ameya/.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/ameya/.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 "main.py", line 10, in <module>
print(wikipedia.summary(input))
File "/home/ameya/.local/lib/python3.8/
site-packages/wikipedia/util.py", line 28, in __call__
ret = self._cache[key] = self.fn(*args, **kwargs)
File "/home/ameya/.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/ameya/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py", line 276, in page
return WikipediaPage(title, redirect=redirect, preload=preload)
File "/home/ameya/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py", line 299, in __init__
self.__load(redirect=redirect, preload=preload)
File "/home/ameya/.local/lib/python3.8/site-packages/wikipedia/wikipedia.py", line 393, in __load
raise DisambiguationError(getattr(self, 'title', page['title']), may_refer_to)

这就是它建议的解决方案:

The code that caused this warning is on line 389 of the file 
/home/ameya/.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."

然而,即使这样做了,问题也没有解决。

还有一件重要的事情,我使用的操作系统是Ubuntu。如果这有帮助:(

所以我对维基百科模块给出的消歧错误的了解是,当一个单词的意思超过一个时,它不知道我们的意思。因此,它提出了一个消除歧义的错误。在你要求总结之前,我建议你先搜索一下这个词。

import wikipedia
print(wikipedia.search('dog'))

输出:

['Dog', 'Dog (disambiguation)', 'The Dog', 'Dog Eat Dog', 'That Dog', 'Hot dog', 'Dog Bite Dog', 'Difference of Gaussians', 'Duane Chapman', 'German Shepherd']

现在使用输出中的'The Dog',建议不要选择'Dog',这也是中许多单词的一部分

print(wikipedia.summary("The Dog"))

输出:

The dog (Canis familiaris when considered a distinct species or Canis lupus familiaris when considered a subspecies of the wolf) is a domesticated carnivore of the family Canidae. It is part of the wolf-like canids, and is the most widely abundant terrestrial carnivore. The dog and the extant gray wolf are sister taxa as modern wolves are not closely related to the wolves that were first domesticated, which implies that the direct ancestor of the dog is extinct. The dog was the first species to be domesticated, and has been selectively bred over millennia for various behaviors, sensory capabilities, and physical attributes.Their long association with humans has led dogs to be uniquely attuned to human behavior, and they can thrive on a starch-rich diet that would be inadequate for other canids. Dogs vary widely in shape, size, and colors. They perform many roles for humans, such as hunting, herding, pulling loads, protection, assisting police and military, companionship, and, more recently, aiding disabled people, and therapeutic roles. This influence on human society has given them the sobriquet of "man's best friend."
当没有与我们使用的关键字相关的文章或页面不明确时,会引发不明确错误。试试这个代码:
try:
p = wikipedia.page('dog')
except wikipedia.DisambiguationError as e:
print(e.options)

来源:https://wikipedia.readthedocs.io/en/latest/quickstart.html

我试过了,但问题没有解决。我得到了与以前相同的错误:(

让我进一步简化我的查询,

我的代码-1:

import Wikipedia 
print(wikipedia.summary("Dog"))

当我这样做时,错误如前所述。然而,

我的代码-2:

import Wikipedia
print(wikipedia.summary("Rat"))

当我这样做的时候,它显示了维基百科上猫而不是老鼠的摘要。

因此,似乎存在一些常见的错误,因此无法获得正确的摘要。

相关内容

  • 没有找到相关文章

最新更新