避免显示bs4库的UserWarning信息

Avoid to display the UserWarning message of bs4 library

每次在python做soup一个bs4页面的源代码,终端显示:

/usr/local/lib/python3.4/dist-packages/bs4/__init__.py:181: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("html5lib"). 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 229 of the file HibernetBlock.py. To get rid of this warning, change code that looks like this:

 BeautifulSoup([your markup])

to this:

 BeautifulSoup([your markup], "html5lib")

  markup_type=markup_type))

有没有办法避免显示这个?

虽然包含解析器是可选的,但警告告诉您,如果您没有明确说明要使用哪个解析器,结果可能因系统而异。

documentation 清楚地表明每个解析器都有优点和缺点。如果让模块在系统上选择“最佳可用”,则可以在一个系统上使用 html5lib 而在另一个系统上使用 html.parser。两者可以不同地解析页面。此警告告诉您这是可能的。

单击文档查看大图

要修复您的警告,并确保所有系统都以相同的方式解析,explicitly设置您要使用的解析器:

BeautifulSoup(html, "html5lib")

记住:

Explicit is better than implicit.