网络爬虫可以分为分布式爬虫、JAVA爬虫以及非JAVA爬虫如scrapy。分布式爬虫就是将多台主机组合起来,共同完成一个爬取任务。很多人会使用分布式爬虫因为这将大大提高爬取的效率。下面我们来看看这类爬虫有什么特点。
什么是分布式爬虫?用大白话来说就是:我部署了多个爬虫模块,这几个模块可以一起来爬虫。从上面架构图的分析,只需要将Scheduler模块基于redis实现,那么所有的模块的spider只需要从redis获取URL,然后爬到新的子URL时也放入redis中,此时我们的架构已经是支持分布式爬虫了。
现在比较流行的分布式爬虫,是Apache的Nutch。但是对于大多数用户来说,Nutch是这几类爬虫里,最不好的选择,理由如下: