使用BeautifulSoup拆分HTML文档

时间:2011-02-24 03:50:19

标签: python html beautifulsoup

我们处理长聚合的HTML文档(转换为PDF)。 在某些情况下,聚合的HTML文档必须按章节(以H1标签开头的专用HTML页面)或子章节(从每个H1或H2标签开始的专用HTML页面)拆分。到目前为止,我们使用BeautifulSoup来处理聚合的HTML,但我们找不到使用BeautifulSoup以适当的方式提取子文档(例如从第一个H1到下一个H2)的正确方法。

2 个答案:

答案 0 :(得分:2)

我在使用BeautifulSoup方面有一些经验,我不确定它是否支持你想要直接做什么。这是两个想法

<强>搜索

以下是它拥有的搜索工具的一些文档。也许你可以搜索H1s和H2s,看看是否有助于提取子文档

http://www.crummy.com/software/BeautifulSoup/documentation.html#Searching the Parse Tree

漂亮的打印+ grep

BeautifulSoup有一个非常有用的美化功能,可以很好地打印html。一旦完成,每个H1或H2将在它自己的行上,在这种情况下,人们可以轻松地使用像grep这样的文本操作实用程序来轻松确定行号。包含H1和H2,简单地将文本放在中间。

http://www.crummy.com/software/BeautifulSoup/documentation.html#Printing a Document

答案 1 :(得分:-1)

由于没有向您提出解析器的解决方案,我是否可以建议您使用正则表达式自行管理?

丹麦语的第二点具有相同的性质,因为grep这个名字来自“全球 - 正则表达 - 印刷”。但由于必须将美化功能用于初步治疗,因此很复杂。

相反,正则表达式是一个强大的工具,可以直接用于文本。

你能提供更多关于你想做什么的信息吗?