说到爬虫大家都不陌生,那么分布式爬虫从字面上也很好理解,就是分散的爬虫。我们可以把一些爬虫放出去采集数据,它们需要对同一个网站进行数据上的搜集,但是它们需要分工进行搜集,最后再进行数据的汇总,这就有点类似于蚂蚁出去找食物最后都搬运回洞中是一个道理。今天关于分布式爬虫的一些解释,大家跟着小编继续往下看:
什么是分布式?
你开发一个网站想要给别人访问就需要把网站部署到服务器,当网站用户增多的时候一个服务器就不满足需求了于是就会把网站部署到多个服务器上,这种情况通常叫集群。
就是把整个网站的所有功能,都同时部署到不同的服务器上一般会使用 ngnix 作负载均衡,不过有些功能并发量并不是很高比如一些后台的管理。
所以就有人想要不然把这个网站的功能都拆分出来,让每一个模块只负责具体的功能,比如登录模块,内容管理模块等
然后在部署的时候,把一些并发量大的模块部署到多个服务器就行了耦合度大大的降低了,并发量小的模块也不会浪费那么多资源了。当然,这时需要让模块与模块之间产生联系
也就是调度好它们,一般会用到消息队列,这就是所谓的分布式。
对于一些数据不大的数据我们的爬虫一般是直接在电脑运行了,也就是所谓的单机爬虫。
而分布式爬虫,说白了就是把爬虫的关键功能以我们刚说的分布式形式部署到多台机器上然后一起盘(爬)它。
那么如何将爬虫之间联系起来呢我们可以使用 Redis 的消息队列进行调度?
之前我们也有说过 redis,它是一个读写速度快的缓存数据库,还提供了类似 Python 的list、set 等数据结构,而且它还可以将内存的数据写到磁盘性能杠杠的。
相信经过小编本篇的讲解和结合上面的图片,大家都分布式爬虫都有很好地理解了,同时非常想用分布式爬虫进行一些数据的搜集。在下篇中小编会为大家带来一些分布式爬虫的实例 *** 作,大家可以关注一下~更多Python学习指路:PyThon学习网教学中心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)