-
我需要一个用java开发的开源网络爬虫,它支持增量爬行。
-
网络爬虫应该很容易定制,并与solr或弹性搜索集成。
-
它应该是一个积极的,正在进一步发展,有更多的特点。
-
Aperture是一个很好的爬虫,它有我提到的所有功能,但它不是一个活跃的爬虫,由于许可证(如果我将其用于商业目的),我忽略了它们的依赖性。
-
Nutch-一个具有更多hadoop支持功能的网络爬虫。但我浏览了许多网站和教程,没有找到合适的文档和api来在windows中以编程方式自定义它。我可以在eclipse中编辑代码,但在运行map reduce作业时会导致许多错误。nutch没有像aperture那样实现的javaapi。
-
Crawl4j是一个很好的网络爬虫,但它没有增量爬行功能,我也没有检查许可证问题。
有没有其他具有我提到的所有功能的爬行器,或者有没有任何方法可以根据我的要求使用上述爬行器中的任何一个?
如有帮助,我们将不胜感激。
看起来非常适合Norconex HTTP收集器:
- 它是100%用Java编写的
- 它完全在Windows上运行(不需要Cygwin或Linux/Unix虚拟机)
- 它有很好的例子和一个提问/提出问题的论坛(github)
- 它支持增量爬网,检测修改的文档和删除的文档
- 它同时支持Solr和Elasticsearch,以及更多(通过使用其"Committers")
- 它具有广泛的可配置性/灵活性。它很容易与它集成并为它提供自定义功能,而不必学习复杂的插件机制(实现一个接口,将其放入类路径,等等)
- 它的发展非常活跃
它由Norconex维护,这是一家由企业搜索专业人士组成的公司。问题迅速得到解决。2.0.0版本正在大量开发中,很快带来了许多新功能(语言检测、文档分割等)。
这是GPL,但如果GPL对你来说是个问题,Norconex会提供商业许可。
它还有许多其他你没有列出的功能,比如在将文档内容发送到搜索引擎之前处理文档内容的能力。它还支持网站地图、机器人规则等。我邀请您尝试一下:http://www.norconex.com/product/collector-http/