如何使用Python从零开始构建Redis-Scrapy的分布式爬虫系统?

2026-06-09 08:440阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计771个文字,预计阅读时间需要4分钟。

如何使用Python从零开始构建Redis-Scrapy的分布式爬虫系统?

Scrapy-Redis分布式策略介绍:设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2。任意一台电脑均可作为Master端或Slaver端,例如:Master端(核心服务器):使用Windows 10搭建。



Scrapy-Redis分布式策略:

假设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端,比如:

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


  • 首先Slaver端从Master端拿任务(Request、url)进行数据抓取,Slaver抓取数据的同时,产生新任务的Request便提交给 Master 处理;
  • Master端只有一个Redis数据库,负责将未处理的Request去重和任务分配,将处理后的Request加入待爬队列,并且存储爬取的数据。
  • Scrapy-Redis默认使用的就是这种策略,我们实现起来很简单,因为任务调度等工作Scrapy-Redis都已经帮我们做好了,我们只需要继承RedisSpider、指定redis_key就行了。

    阅读全文

    本文共计771个文字,预计阅读时间需要4分钟。

    如何使用Python从零开始构建Redis-Scrapy的分布式爬虫系统?

    Scrapy-Redis分布式策略介绍:设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2。任意一台电脑均可作为Master端或Slaver端,例如:Master端(核心服务器):使用Windows 10搭建。



    Scrapy-Redis分布式策略:

    假设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端,比如:

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


  • 首先Slaver端从Master端拿任务(Request、url)进行数据抓取,Slaver抓取数据的同时,产生新任务的Request便提交给 Master 处理;
  • Master端只有一个Redis数据库,负责将未处理的Request去重和任务分配,将处理后的Request加入待爬队列,并且存储爬取的数据。
  • Scrapy-Redis默认使用的就是这种策略,我们实现起来很简单,因为任务调度等工作Scrapy-Redis都已经帮我们做好了,我们只需要继承RedisSpider、指定redis_key就行了。

    阅读全文