我有一个应用程序,我一直在使用 html5lib 来自由解析 html。我使用 minidom 接口,因为我需要一个真正的 DOM API,而 ElementTree 不适合我正在做的事情。
这是我如何做到这一点:
parser = html5lib.XHTMLParser(tree=html5lib.treebuilders.getTreeBuilder('dom'))
parser.parse(html)
但是,解析大文件正在成为性能瓶颈,lxml 解析比 html5lib 快大约 80 倍(我对其进行了基准测试)。
如何使用 lxml 或类似快速的 bad-html 容错库进行解析,并使用与 DOM 兼容的 API 进行操作?