【问题标题】:What algorithms could I use to identify content on a web page我可以使用哪些算法来识别网页上的内容
【发布时间】:2011-01-01 05:41:11
【问题描述】:

我在浏览器中加载了一个网页(即我可以访问它的 DOM 和元素定位),我想找到可能包含最多内容的块元素(或这些元素的排序列表) (如在连续的文本块中)。目标是排除菜单、页眉、页脚等内容。

【问题讨论】:

    标签: algorithm webpage html-content-extraction


    【解决方案1】:

    这是我个人最喜欢的:VIPS: a Vision-based Page Segmentation Algorithm

    【讨论】:

      【解决方案2】:

      首先,如果您需要解析网页,我会使用HTMLAgilityPack 将其转换为 XML。它将加速一切,并使您能够使用简单的 XPath 直接进入 BODY。

      之后,您必须在所有 div 上运行(您可以从敏捷包中获取列表中的所有 DIV 元素),然后获取您想要的任何内容。

      【讨论】:

      • 我对可以用来判断单个候选节点的标准类型更感兴趣。
      【解决方案3】:

      有一种简单的技术可以做到这一点,基于分析 HTML 的“嘈杂”程度,即标记与通过 html 页面显示的文本的比率是多少。 The Easy Way to Extract Useful Text from Arbitrary HTML描述了这个tex,给出了一些python代码来说明。

      参照。还有HTML::ContentExtractor Perl 模块,它实现了这个想法。如果你想使用它,首先清理 html 是有意义的,使用 beautifulsoup。

      【讨论】:

        【解决方案4】:

        我会推荐 Vit Baisa 在Web Content Cleaning 上的论文,我想他也有一些代码,但我找不到它的链接。在自然语言处理 LingPipe 博客上也有一个 discussion 的相同问题。

        【讨论】:

          猜你喜欢
          • 2011-04-29
          • 1970-01-01
          • 1970-01-01
          • 2011-02-16
          • 2013-01-29
          • 2011-06-08
          • 2012-11-18
          • 2014-12-26
          • 2012-01-04
          相关资源
          最近更新 更多