Scrapy-redis 分布式爬虫

Scrapy-redis 分布式爬虫

Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件。scrapy-redis 的解决是把这个Scrapy queue换成redis数据库(也是指redis队列),从同一个redis-server存放要爬取的request,便能让多个spider去同一个数据库里读取。

Scrapy-Redis分布式策略:

  • Master端(核心服务器) :搭建一个Redis数据库,不负责爬取,只负责url指纹判重、Request的分配,以及数据的存储;
  • Slaver端(爬虫程序执行端) :负责执行爬虫程序,运行过程中提交新的Request给Master

scrapy-redis

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

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

Master 安装Redis

1.下载及安装

wget http://download.redis.io/releases/redis-3.2.6.tar.gz
tar xzf redis-3.2.6.tar.gz
cd redis-3.2.6
make

2.配置修改redis.conf

# 允许远程连接
# bind 127.0.0.1

# 改为yes 作为守护进程在后端执行
daemonize yes

# 禁用敏感命令
# 删除库
rename-command FLUSHDB ""
# 删除所有
rename-command FLUSHALL ""

3.启动redis服务

# 启动redis 服务
[root@baolin src]# /usr/local/redis-3.2.6/src/redis-server /usr/local/redis-3.2.6/redis.conf

4.通过远程连接

[root@baolin src]# ./redis-cli -h 192.8.21.100   

5.通过 Redis Desktop Manager IDE连接

下载地址:https://redisdesktop.com/download

Slaver端安装scrapy-redis模块

1.Linux端安装:

pip3.6 install scrapy-redis

应用官方GitHub案例

1.源码地址

https://github.com/rmax/scrapy-redis

2.下载源码地址

# clone github scrapy-redis源码文件
git clone https://github.com/rmax/scrapy-redis.git

转载于:https://www.cnblogs.com/baolin2200/p/8658087.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值