数据库
首页 > 数据库> > 爬虫(14) - Scrapy-Redis分布式爬虫(1) | 详解

爬虫(14) - Scrapy-Redis分布式爬虫(1) | 详解

作者:互联网

1.什么是Scrapy-Redis

 

2.Scrapy-Redis分布式策略

假设有三台电脑:Windows 10、Ubuntu 16.04、Windows 10,任意一台电脑都可以作为 Master端 或 Slaver端,比如:

 

首先Slaver端从Master端拿任务(Request、url)进行数据抓取,Slaver抓取数据的同时,产生新任务的Request便提交给 Master 处理

Master端只有一个Redis数据库,负责将未处理的Request去重和任务分配,将处理后的Request加入待爬队列,并且存储爬取的数据。

 

Scrapy-Redis默认使用的就是这种策略,我们实现起来很简单,因为任务调度等工作Scrapy-Redis都已经帮我们做好了,我们只需要继承RedisSpider、指定redis_key就行了。

缺点是,Scrapy-Redis调度的任务是Request对象,里面信息量比较大(不仅包含url,还有callback函数、headers等信息),可能导致的结果就是会降低爬虫速度、而且会占用Redis大量的存储空间,所以如果要保证效率,那么就需要一定硬件水平。

 

3.Scrapy-Redis的安装和项目创建

3.1.安装scrapy-redis

pip install scrapy-redis

3.2.项目创建前置准备

Redia安装简单讲解:安装包下载下来后,点击下一步一直安装就行,把安装路径记录好;注意安装好后需要将redis的安装目录添加到环境变量中;每当你修改了配置文件,需要重启redis时,要记得将服务重启下

Another Redis Desktop Manager简单讲解:点击【New Connection】添加redis连接,连接内容如下(地址、端口等),密码Auth和昵称Name不是必填。

可以看到redis安装的环境、当前redis的版本、内存、连接数等信息。后面我们的笔记会讲解通过该软件查看待抓取的URL以及URL的指纹

 

3.3.项目创建

创建普通scrapy爬虫项目,在普通的项目上改造成scrapy-redis项目;普通爬虫分为四个阶段:创建项目、明确目标、创建爬虫、保存内容;

scrapy爬虫项目创建好后,进行改造,具体改造点如下:

3.3.1.创建scrapy爬虫

step-1:创建项目

创建scrapy_redis_demo目录,在该目录下输入命令 scrapy startproject movie_test ,生成scrapy项目

标签:14,url,movie,redis,爬虫,爬取,scrapy,Redis
来源: https://www.cnblogs.com/gltou/p/16424854.html