您当前的位置: 首页 >  redis

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Scrapy_redis框架的概念作用和流程

IT之一小佬 发布时间:2021-02-14 21:48:56 ,浏览量:0

        当爬取的网站的数据量非常庞大的时候,再使用之前的Scrapy框架速度就会有点偏慢,这时可以使用分布式来快速的爬取大量的数据。

1. 分布式是什么

        分布式就是不同的节点(服务器,ip不同)共同完成一个任务。

2. scrapy_redis的概念

        scrapy_redis是scrapy框架基于redis的分布式组件。

3. scrapy_redis的作用

Scrapy_redis在scrapy的基础上增加了更多强大的功能,具体体现在:

通过持久化请求队列和请求的指纹集合来实现:   【指纹集合:唯一标志,可以对其做哈希】

  • 断点续爬
  • 分布式快速抓取

分布式的好处:

  • 加快项目的运行速度,但是需要的资源(硬件&网络)依然还是原有的
  • 单个节点的不稳定性不影响整个系统的稳定性
4. scrapy_redis的工作流程 4.1 scrapy的流程

【redis_key 是一个键存储的字符串,用于启动爬虫项目的,是启动的请求】

思考:那么,在这个基础上,如果需要实现分布式,即多台服务器同时完成一个爬虫,需要怎么做呢?

4.2 scrapy_redis的流程
  • 在scrapy_redis中,所有的待抓取的request对象和去重的request对象指纹都存在所有的服务器公用的redis中

  • 所有的服务器中的scrapy进程公用同一个redis中的request对象的队列

  • 所有的request对象存入redis前,都会通过该redis中的request指纹集合进行判断,之前是否已经存入过

  • 在默认情况下所有的数据会保存在redis中

具体流程如下:

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0396s