我可以使用哪些算法来识别网页上的内容

时间:2010-01-04 12:22:36

标签: algorithm webpage html-content-extraction

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

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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