首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何消除BeautifulSoup用户警告?

问如何消除BeautifulSoup用户警告?
EN

Stack Overflow用户
提问于 2015-11-04 00:13:18
回答 3查看 90.4K关注 0票数 67

安装BeautifulSoup后,每当我在命令行中运行Python时,就会发出以下警告:

代码语言:javascript
复制
D:\Application\python\lib\site-packages\beautifulsoup4-4.4.1-py3.4.egg\bs4\__init__.py:166:
UserWarning: No parser was explicitly specified, so I'm using the best 
available HTML parser for this system ("html.parser"). 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.

To get rid of this warning, change this:

 BeautifulSoup([your markup])

to this:

 BeautifulSoup([your markup], "html.parser")

我不知道为什么会出现这种情况,也不知道如何解决。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-04 00:14:53

错误信息中清楚地说明了解决问题的方法。下面这样的代码没有指定XML/HTML/etc解析器。

代码语言:javascript
复制
BeautifulSoup( ... )

为了修复错误,需要指定要使用的解析器,如下所示:

代码语言:javascript
复制
BeautifulSoup( ..., "html.parser" )

如果愿意,还可以安装第三方解析器。

票数 123
EN

Stack Overflow用户

发布于 2016-06-07 10:46:32

文档建议您安装并使用lxml以提高速度。

代码语言:javascript
复制
BeautifulSoup(html, "lxml")

如果您使用的Python 2版本早于2.7.3,或者Python 3的版本早于3.2.2,那么安装lxml或html5lib(Python的内置HTML解析器)在旧版本中就不是很好了。

安装LXML解析器

  • 关于Ubuntu (debian) apt-get安装python-lxml
  • Fedora (以RHEL为基础) dnf安装python-lxml
  • 使用PIP pip安装lxml
票数 21
EN

Stack Overflow用户

发布于 2018-09-06 15:03:35

对于HTML解析器,您需要安装html5lib,运行:

代码语言:javascript
复制
pip install html5lib

然后在html5lib方法中添加BeautifulSoup:

代码语言:javascript
复制
htmlDoc = bs4.BeautifulSoup(req1.text, 'html5lib')
print(htmlDoc)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33511544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档