【发布时间】:2016-02-19 16:08:45
【问题描述】:
我正在处理需要快速 HTML 解析的大型项目,包括恢复损坏的 HTML 页面。
目前lxml是我的选择,我知道它也为libxml2的恢复模式提供了一个接口,但我对结果并不满意。对于某些特定的 HTML 页面,我发现 BeautifulSoup 的效果非常好(例如:http://fortune.com/2015/11/10/vw-scandal-volkswagen-gift-cards/,这个有一个损坏的<header> 标签,lxml/libxml2 无法纠正)。但是,问题是BS非常慢。
正如我所见,Chrome 和 Firefox 等现代浏览器解析 HTML 的速度非常快,并且能够很好地处理损坏的 HTML。与 lxml 一样,Chrome 的解析器构建在 libxml2 和 libxslt 之上,但具有更有效的破碎 HTML 处理算法。我希望有从 Chromium 导出的独立 repos 以便我可以使用它们,但还没有找到类似的东西。
有没有人知道一个好的库或至少一个解决方法(通过利用当前已知解析器的一部分)?非常感谢!
【问题讨论】:
标签: html beautifulsoup html-parsing lxml libxml2