文章内容
2017/7/14 10:44:30,作 者: 黄兵
BeautifulSoup4 UserWarning
错误描述:
/opt/ActivePython-2.7/lib/python2.7/site-packages/bs4/__init__.py:166: UserWarning: 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.
注释:没有明确指定解析器,在这个系统最好采用HTML解析器(“lxml”),这通常不是一个问题,但是如果您在另一个系统或其他虚拟环境中运行此代码,则可能会使用不同的解析器并以不同的方式运行。
To get rid of this warning, change this:
注释:如果要消除这个警告,可以这样做:
BeautifulSoup([your markup])
to this:
BeautifulSoup([your markup], "lxml")
markup_type=markup_type))
解决:
初始化时,加上解析器类型,常用解析器如下:
解析器 | 使用方法 | 优势 | 劣势 |
---|---|---|---|
Python标准库 | BeautifulSoup(markup, "html.parser") |
|
|
lxml HTML 解析器 | BeautifulSoup(markup, "lxml") |
|
|
lxml XML 解析器 | BeautifulSoup(markup, ["lxml", "xml"]) BeautifulSoup(markup, "xml") |
|
|
html5lib | BeautifulSoup(markup, "html5lib") |
|
|
也就是说上面没有指定解析器,不同的系统有可能采用不同的解析器(或者是不同的运行方式)。
这只是一个警告(Warning),可以忽略。
评论列表