我需要用Python 3.8 xml包解析HTML文件。这一定是可能的,因为一些xml.etree.ElementTree
方法的参数将"xml"
或"html"
作为值,但我找不到一个如何实现的示例。
当我尝试解析HTML文件时,我得到一个异常:
htmlRoot = etree.ElementTree.parse(filepathname).getroot()
解析器在遇到HTML实体时抛出“undefined entity”异常。我假设这是因为HTML实体是预定义的,而XML实体不是。
如语句所示,我使用的是默认解析器。也许有一个HTML解析器,但我还没有找到。我甚至不确定是否有其他的解析器,或者我必须自己运行。
我不想使用Python的html包,因为我需要像xml.etree
提供的那样遍历一个完整的解析树。html包不是这样工作的。
我发现了一些用lxml包解析HTML的例子,但lxml不是标准Python配置的一部分。这对于不懂Python并且需要“即插即用”应用程序的同事来说是个问题。
1条答案
按热度按时间ao218c7q1#
阅读本文了解更多详情https://docs.python.org/3/library/xml.etree.elementtree.html