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