BeautifulSoup使用时UserWarning: No parser was explicitly specified

    科技2025-10-02  10

     

    一说应添加"html.parser"

    bs = BeautifulSoup(html, "html.parser")

    亲测可用。

     

    也有如下说法。

    html5lib,lxml

    注意:双引号" "千万不要写错。

    BeautifulSoup文档代码中没有提示

    https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/

     

    但给出了这样一段。

    推荐使用lxml作为解析器,因为效率更高. 在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定.

    提示: 如果一段HTML或XML文档格式不正确的话,那么在不同的解析器中返回的结果可能是不一样的,查看 解析器之间的区别 了解更多细节

    解析器使用方法优势劣势Python标准库BeautifulSoup(markup, "html.parser") Python的内置标准库执行速度适中文档容错能力强 Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差lxml HTML 解析器BeautifulSoup(markup, "lxml") 速度快文档容错能力强 需要安装C语言库lxml XML 解析器

    BeautifulSoup(markup, ["lxml-xml"])

    BeautifulSoup(markup, "xml")

    速度快唯一支持XML的解析器 需要安装C语言库html5libBeautifulSoup(markup, "html5lib") 最好的容错性以浏览器的方式解析文档生成HTML5格式的文档 速度慢不依赖外部扩展

     

     

     

    Processed: 0.009, SQL: 9