是否有任何工具可以隔离网页内容?

时间:2010-11-22 06:18:45

标签: java html-parsing web-scraping

我正在开展一个学校项目,我们希望分析网页的内容。但是,我们不想处理导航条和评论之类的事情。如果我们正在查看特定网站,我们可以使解析器专门为该网站过滤掉那些无关的东西,但我们希望在以前可能从未遇到过的任意网站上进行工作。

我觉得希望它有点多,所以如果不存在这样的事情,我不会感到惊讶,但是有没有人知道可以在任意网站上进行那种内容隔离的工具?我有点运气与同一网站的其他人分享页面,但它不完美,留下评论等。

我在Java工作,但欢迎使用任何可以用于创意的语言的开源软件。

4 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

我对这次谈话也有点迟了但是......

Java Boilerpipe提取器可能是您想要的(可能是ArticleSentencesExtractor),尽管在github上至少有一个对arc90可读性的端口。

如果你想构建一个可怜的勒芒样锅炉,你可以尝试从同一个站点衍生2个页面(假设他们使用相同的模板,你可能会得到一个有趣的结果)

samppipe,可读性和基于差异的hack之间的主要区别在于,samppipe将剥离所有html但保留一些结构

答案 3 :(得分:0)

我怀疑存在任何你想要的东西。如果没有某种语义标记,几乎不可能将“真实”内容与其他内容区分开来。这是一项需要真正智慧的任务。

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