一、什么是分布式爬虫
1.默认情况下scrapy是单机爬虫,只能在一台电脑上运行
因为爬虫调度器当中的queue去重和set集合都是在本机上创建的
其他的电脑无法访问另外一台计算机上的内存的内容
2.分布式爬虫用一个共同的程序,同时部署到多台电脑上运行
这样可以提高爬虫的速度 实施分布式爬虫
二、分布式爬虫的前提
1 保证每一台计算机都能够正常执行scrapy命令 能够启动爬虫
2 要保证所有的爬虫程序访问同一队列的一个set集合
3 想要保证多台计算机共用一个queue队列和set集合 scrapy 中是结合scrapy redis完成的
分布式爬虫可以让所有的机器上的爬虫程序从同一个队列中获取request请求,并且每一个机器取出的
request的请求对象 是不一样的,直到所有的request被请求完
三、分布式爬虫的适用范围(要求)
1.分布式爬虫对电脑的性能有一定的要求
2.分布式爬虫对网速也有一定的要求,电脑性能和网速如果不是很好的话,爬虫效率不如单机爬虫
四、分布式爬虫经常和redis数据库一起使用,redis的优缺点。
优点
默认使用持久化数据方式 体积小使用方便
如果存储数据较大的时候 启动速度相对快
数据库中的数据和内存中的数据可以相互访问
缺点
从安全的角度来说持久化数据可能会崩溃,造成数据丢失
五、服务器配置主从的目的
1 达到备份的功能 一旦数据master崩溃,而数据库中还有数据,可以将其中的一个slaver重新作为主服务器
从而恢复redis的正常运行
2 一个redis服务器负责读写,性能较低 通过主从减轻redis的压力
六、redis的主从配置
redis作为缓存的服务器 主要是将内存中的进行缓存 但是一台机器的性能和内存是有限的
当对于redis数据库的数据进行数据读写的量较大的时候,一台redis就不能满足需求的时候
此时,需要将redis部署在多台机器上
用于写入数据的机器称之为master而只负责读取数据的redis称之为slave
七、redis的下载和安装
资源链接
Redis官网:
Redis官方文档:
Redis国内文档:
Windows版本下载地址:
码云上的下载地址:
Redis下载
在这里,我们以下载在Windows下使用的免安装版的Redis为例来进行说明。在这里,我们索要下载的软件版本如下:
2.将下载的软件压缩包解压到redis文件夹下,并将其拷贝到索要存放的位置,比如说我的是C:\Users\Administrator\Desktop\Redis,在该文件夹下按住【Shift】+鼠标右键,调出cmd控制台,运行redis-server.exe redis.windows.conf
,如下图所示:
这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set task1 abc
取出简直对 get task1