【问题标题】:Splitting a HTML document using BeautifulSoup使用 BeautifulSoup 拆分 HTML 文档
【发布时间】:2011-02-24 03:50:18
【问题描述】:

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

【问题讨论】:

    标签: python html beautifulsoup


    【解决方案1】:

    我有一些使用 BeautifulSoup 的经验,但我不确定它是否支持您想要直接执行的操作。这里有两个想法

    搜索

    以下是它所拥有的搜索工具的一些文档。也许您可以同时搜索 H1 和 H2,看看这是否有助于提取子文档

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

    Pretty Print + grep

    BeautifulSoup 有一个非常有用的美化功能来漂亮地打印 html。完成此操作后,每个 H1 或 H2 将位于其自己的行上,在这种情况下,可以轻松使用 grep 等文本操作实用程序轻松确定行号。包含 H1 和 H2 并简单地取中间的文本。

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

    【讨论】:

    • 嗯,我非常了解 BeautifulSoup 功能,并且不需要指向我所知道的文档的指针 :)
    • 很高兴知道您对文档了如指掌。我确实提出了 2 点,其中第 2 点不仅仅是指向文档的指针。我只是觉得可能需要一种不同的方法。干杯!
    【解决方案2】:

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

    丹麦语的第二点具有相同的性质,因为名称 grep 来自“全局 - 正则表达式 - 打印”。但是由于必须使用美化功能进行初步处理,因此变得复杂。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 2022-10-17
      • 2010-09-21
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多