【问题标题】:Java libraries to extract text blocks from HTML pages用于从 HTML 页面中提取文本块的 Java 库
【发布时间】:2012-01-20 12:31:16
【问题描述】:

我想从 HTML 页面中提取文本块,我正在使用锅炉管道来执行此操作。它适用于页面中的一个文本,但某些页面(如博客)页面中有多个文本。

我想提取所有文本,但将每个文本标识为单独的文本,而不仅仅是一个。

有一些图书馆可以做到这一点吗?

编辑:我正在使用 Jsoup 来解析 HTML,但我不想做解析,而是像样板管道那样在页面中提取信息。我想测试其他类似的工具。

【问题讨论】:

  • 请提供更多详细信息,您使用的是什么提取器?您是否尝试过使用 ArticleExtractor?我尝试使用 ArticleExtractor 来获取 stackoverflow 帖子的内容,它为我提取了所有文本?如果您提供一些示例代码,我们会更好地调试。
  • @rao_555 全部文字为一文还是多文?

标签: java html text information-extraction


【解决方案1】:

JSoup 是用于此类任务的非常广泛使用的解析器。请检查一下。

【讨论】:

    【解决方案2】:

    嗯,我个人喜欢将DojHtmlUnit 一起使用。基本上,Doj 引入了类似于 Java 的 CSS 选择器的东西。

    示例(来自官方页面):

    Doj spanDoj = Doj.on(page).get("#updates tr", 1).get("td", 2).get("span.item");
    

    您可以在链接页面上看到更复杂的示例(向下滚动)。

    【讨论】:

      【解决方案3】:

      我所知道的最接近的 Java 库是 Road Runner 项目:http://www.dia.uniroma3.it/db/roadRunner/ 它是一个可以在 HTML 文档中的标记上构造一种特殊类型的正则表达式的系统,它可以(在许多情况下)检测基于相同模板的多个文档的这种模式。对于博客,这可以通过例如查看分页页面来实现。您可能仍然需要准确地挑选出每个网站感兴趣的重复模式。

      对于博客,我可能会在博客标题中查找提要链接,并使用提要解析库来解析每篇文章的永久链接。抓取这些并使用样板管道(仅需要,因为许多博客不包含 RSS/Atom 提要中的全文)。很多博客也不在主页上包含全文,所以我会专注于识别永久链接的方法,然后从那里开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-26
        • 1970-01-01
        相关资源
        最近更新 更多