Scrapy-Redis项目的搭建和部署
Scrapy-Redis项目的引入
scrapy是爬虫框架,但是只能在一台机器上运行程序。假如数据量特别多,一台机器就不够用了,那么就要多台机器一起配合使用,多台机器同时运行程序,共同爬数据,所以引入了Scrapy-Redis框架。
Scrapy-Redis项目基本原理
多台机器同时爬数据最关键的问题是urls的调度问题,调度问题没控制好,可能导致重复爬取或者有遗漏。
Scrapy-Redis框架有一台主机Master,专门用来管理urls。这里就要引入redis数据库了,redis数据库是基于内存的,速度快,且封装性好。所以用redis来管理urls。我们把要爬取的urls放入redis中,并做去重处理,每爬取一个url,就把这url从redis中删除,最后redis中没有url就表明爬虫完成。其他从机Slave要做的是从主机的redis获取url,然后运行爬虫程序。
Scrapy项目转换成Scrapy-Redis项目
基于上面的原理,可以知道,准备工作:主机Master要安装redis数据库,从机要安装Scrapy-Redis依赖库,并且从机要先写好了一个Scrapy项目。
ubuntu中redis数据库安装
云服务器是基于ubuntu的
sudo apt-get -y install redis-server
运行完后,redis就安装成功了。