scrapy-redis分布式爬虫

分布式爬虫(scrapy-redis)

1.什么是分布式

将一个任务分割成多份,每一份由一个计算机完成,最后所有的计算机能够成为一个整体,得到这个任务的结果。

2.scrapy分布式

原来的项目是部署在一台电脑上的,这样爬取速度虽然很快,但是我们还能提升,联想到分布式的思想,我们是否可以通过多台电脑进行配合爬取,这样我们的爬取速度就能大幅度提升。

分布式爬虫就是:【多台电脑爬取同一个项目】。

在这里插入图片描述

3.scrapy和scrapy-redis的区别

(1)scrapy是一个爬虫框架,但是他不支持分布式。

(2)scrapy-redis,通过scrapy上增加一个redis组件,这个redis里面设置了带爬取url的列表和每个url的指纹集合,通过这两个,做到了分布式,使得多台电脑可以联合爬取一个任务。

4.scrapy分布式的部署步骤

1.导入:from scrapy_redis.spiders import RedisSpider更改spider继承,让spider继承RedisSpider

2.注释start_urls,新建一个py文件,用来将url存储到redis数据中。—设置任务。

3.在spider增加类变量redis_key,如redis_key = ‘biquge:start_urls’。 至此,spider设置完毕

4.在settings中进行配置。

主机setting配置:

1.配置scrapy-redis调度器

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

2.配置url去重

DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

	ITEM_PIPELINES = {

	'scrapy_redis.pipelines.RedisPipeline': 300

	}

	SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.PriorityQueue'


3.主机名

REDIS_HOST = 'localhost'

4.端口号

REDIS_PORT = 6379

2.从机步骤:

1,将star_urls初始化的代码全部注释。

2.从机的redis可以关闭

从机setting配置:

1.配置scrapy-redis调度器
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
2.配置url去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.PriorityQueue'

# ITEM_PIPELINES = {
#     'scrapy_redis.pipelines.RedisPipeline': 300
# }


3. 主机ip
REDIS_HOST = '***' ### 连接的主机的ip
REDIS_PORT = 6379
4.主机端口
MONGO_URL = '***'   ### 连接的主机的ip
MONGO_DATABASE = 'biquge'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值