这不是一个真正的编程问题,更多的算法问题。查找HTML部分文档的内容
问题:查找HTML页面的“内容”部分。
“内容”指的是包含人类看到的页面内容的dom,没有噪音,只是“页面实际内容”。 我知道问题没有很好的定义,但让我们继续... 例如在博客网站中,这通常很容易,当浏览到特定的帖子时,您通常会在页面的顶部有一些工具栏,也许有些导航元素在LHS上,然后你有包含内容的div。试图从HTML中弄清楚这一点可能会很棘手。然而幸运的是,大多数博客都有RSS源,在这个特定帖子的Feed中,您会发现<说明>部分(或<内容:编码>),这正是您想要的。 因此,为了优化内容的定义,这是包含有趣部分的实际内容,删除所有广告,导航元素等。 因此,从博客中查找内容相对容易,假设他们拥有RSS。其他RSS支持网站也一样。
新闻网站呢?在很多情况下,新闻网站都有RSS,但并非总是如此。如何在新闻网站上找到内容? 更一般的网站呢?许多网页(当然不是全部)都有内容部分和其他部分。你能想出一个好的算法来找到那些“有趣”的部分,而不是那么有趣?也许从那些不变的部分改变了?
希望我已经说清楚了......谢谢!
对于网络上的大多数网页,您很好地发现任何“有趣的部分” – 2009-08-04 09:12:17
这是一个难以回答的问题。如果很容易从噪音中识别“有趣的内容”,那么每个人都会使用“噪音”过滤器,就像Adblock用于阻止广告一样。 也就是说,通常,用户看到的内容(基本上剥离了标记和脚本逻辑的html文件的全部内容)可能包含“信息”,并且可以使用htmlToText转换器提取。来自www.htmlparser.org的StringBean类可以用来做到这一点(java)。 – hashable 2009-08-28 00:27:10