其中简要介绍了
BeautifulSoup's documentation
漂亮的soup为许多不同的解析器提供了相同的接口,但是每个解析器都是不同的。不同的解析器将从同一文档创建不同的解析树。最大的区别在于HTML解析器和XML解析器之间
…]
这里是用python内置的html解析器解析的同一文档:
BeautifulSoup("<a></p>", "html.parser")
与html5lib一样,此分析器忽略结束
</p>
标签。与html5lib不同,此解析器不尝试通过添加标记来创建格式良好的HTML文档。与LXML不同,它甚至不需要添加标记。
您遇到的问题可能是由于
html.parser
无法正确处理。这导致了
id="main"
当BeautifulSoup解析HTML时被剥离。通过将解析器更改为
html5lib
或
lxml
,BeautifulSoup处理格式错误的HTML与
语法分析器