5

我正在尝试使用 BeautifulSoup 解析一个 HTML 文件,该文件由许多从 LexisNexis(法律数据库)批量下载的单个文档组成。

  • 我的第一个任务是将 HTML 文件拆分为其组成文档。我认为这很容易,因为文件被包围 <DOC NUMBER=1>body of the 1st document</DOC> 等等。

  • 但是,此<DOC>标记是 XML 标记,而不是 HTML 标记(文件中的所有其他标记都是 HTML)。因此,对于常规 HTML 解析器,此标记在树中不可用。

  • 如何在 bs4 中构建一个解析器来获取这个 XML 标记?我附上 HTML 文件的相关部分:

    <!-- Hide XML section from browser <DOC NUMBER=1> <DOCFULL> --> BODY <!-- Hide XML section from browser </DOCFULL> </DOC> -->

4

1 回答 1

1

实例化 BeautifulSoup 对象时,您可以在 bs4 中指定 xml:

xml_soup = BeautifulSoup(xml_object, 'xml')

这应该可以解决您的问题。您可以使用该xml_soup对象来解析剩余的 html,但是我建议专门为 html 实例化另一个汤对象:

soup = BeautifulSoup(html_object)
于 2013-03-25T20:43:19.923 回答