2010-11-22 53 views
0

我正在研究一个我们想要分析网页内容的学校项目。然而,我们并不想处理导航条和评论等内容。如果我们在查看特定的网站,我们可以创建一个解析器来过滤那些专门针对该网站的无关内容,但我们希望能够在我们以前可能没有遇到的任意网站上工作。有没有任何工具来隔离网页的内容?

我觉得希望有点多,所以如果没有这样的东西存在,我不会感到惊讶,但是有谁知道可以在任意网站上做这种内容隔离的工具吗?我与同一网站上的其他人有过一些不同的运气,但它不完美,留下评论等。

我正在使用Java,但会欢迎任何可用于创意的语言的任何开源代码。

回答

2

你可以试试arc90的可读性的unofficial API

基本上,Readability所做的是提取网页上的内容并将其作为格式良好的文章呈现给您。导航栏,评论以及围绕网页内容的所有其他内容都消失了。

+0

这看起来非常酷!我必须仔细研究它。 – Matt 2010-11-22 11:32:54

0

我怀疑任何可以做你想做的事情。如果没有某种语义标记,几乎不可能将“真实”内容与其他内容区分开来。这是一项需要真实情报的任务。

当然,有很好的工具可以解析不同程度的正确性的HTML,并且通常可以拼凑一些基于模式的解决方案来处理特定站点上的页面...假设存在常见的结构/模式被引出。

3

我对这个有点迟了(特别是对于一个学校项目),但是如果有人在未来某个时候发现了这一点,以下可能会有所帮助。

我偶然发现了一个Java库来做到这一点。在我的简单测试中,性能类似于可读性。

http://code.google.com/p/boilerpipe/

1

IM也有点晚了这次谈话,但...

了Java Boilerpipe提取可能是你想要什么(ArticleSentencesExtractor可能),虽然是arc90可读性的至少1个端口到github上的java。

如果你想建立一个穷男人的boilerpipe你可以尝试从同一网站diff'ing 2页(假设他们使用的是相同的模板,你可能会得到一个有趣的结果)

boilerpipe之间的主要区别,可读性和基于差异的黑客攻击是,锅炉将去除所有的HTML,但保留一些结构

相关问题