几种开源网络爬虫的简单比较
平台 |
开发语言 |
优点 |
缺点 |
社区活跃程度 |
|
Larbin |
Linux |
C++ |
性能好,稳定 |
没有删除功能,排重会误判 |
★★★★★ |
Nutch |
Windows/linux |
java |
Nutch和Lucene,Hadoop结合的很好 |
不太稳定 |
★★★★★ |
Heritrix |
Windows/linux |
Java |
高度可扩展性,性能优秀,对抓取的高度控制性,功能齐全 |
对中文支持不够,没有很好的容错性以及回复机制 |
★★★★★ |
WebSPHINX |
Windows/linux |
Java |
采集效率高,接口清晰,易于扩展 |
不再被维护了 |
★★★☆☆ |
Mercator |
Windows/linux |
Java |
可伸缩、可扩展 |
资料少 |
★★☆☆☆ |
PolyBot |
Linux |
Python/c++ |
可配置性好 |
缺点就是直观性太差, |
★★☆☆☆ |
上面是简单的比较了下几种开源的爬虫,还有其他的一些比如Ubicrawler、FAST Crawler、天网蜘蛛等等没有添加进来。
之后主要研究下larbin爬虫,如果有可能会给它添加一个删除功能,因为其排重部分用的是bloom filter算法,这个算法的有点很明显,对大规模数据的处理很快,性能很好,而且内存占用很小,但是什么事都没有尽善尽美的,该算法的直接缺点就是不能删除,还会出现误判情况。关于bloom filter有很多相关论文,网上也有些高质量的文章,暂时不做累述,之后如果自己有不一样的看法,再写关于该算法的文章。