如何构建html5lib解析器来处理xml和html标签的混合

时间:2013-03-19 19:57:22

标签: python parsing beautifulsoup

我是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> -->

最佳

马里恩

1 个答案:

答案 0 :(得分:1)

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

xml_soup = BeautifulSoup(xml_object, 'xml')

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

soup = BeautifulSoup(html_object)