首页 > 解决方案 > 为什么wikipedia api在beautifulsoup4或其他东西上给我错误

问题描述

我正在从 geeksforgeeks 运行这段代码

    # importing the module
import wikipedia

# finding result for the search
# sentences = 2 refers to numbers of line
result = wikipedia.summary("India", sentences = 2)

# printing the result
print(result)

但它总是给我这个错误

C:\Users*censored*\PycharmProjects\pythonProject\venv\lib\site-packages\wikipedia\wikipedia.py:389: GuessedAtParserWarning: 没有明确指定解析器,因此我正在使用适用于该系统的最佳 HTML 解析器( “html.parser”)。这通常不是问题,但如果您在另一个系统或不同的虚拟环境中运行此代码,它可能会使用不同的解析器并表现不同。

导致此警告的代码位于文件 C:\Users*censored*\PycharmProjects\pythonProject\venv\lib\site-packages\wikipedia\wikipedia.py 的第 389 行。要消除此警告,请将附加参数 'features="html.parser"' 传递给 BeautifulSoup 构造函数。

lis = BeautifulSoup(html).find_all('li' "html.parser")

任何帮助将不胜感激

标签: python

解决方案


实际上,这不是错误,而是警告(以防万一)。解析器是一种从网页构造“文本”或树的方法 - 不同的解析器(可能)会给出不同的结果,例如网页有一些 HTML 错误,请参阅示例 https://www.crummy.com/software/ BeautifulSoup/bs4/doc/#differences-between-parsers

如果您没有指定要使用的解析器,beautifulsoup 会为您选择一个(这就是您看到的警告)。


推荐阅读