• Scrapy_redis


    简介

    scrapy_redis是一个基于Redis的Scrapy组件,用于scrapy项目的分布式部署和开发

    你可以启动多个spider对象,互相之间共享有一个redis的request队列,最适合多个域名的广泛内容的爬取

    特点

    分布式爬取

    分布式数据处理

    爬取到的item数据被推送到redis中,这意味着你可以启动尽可能多的item处理程序

    scrapy即插即用

    scrapy调度程序+过滤器,项目管道,base spidre

    安装

    pip install scrapy-redis

    使用

    首先创建scrapy的项目

    在settings修改默认的调度器和过滤

    SCHEDULER = 'scrapy_redis.scheduler.Scheduler'

    DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'

    SCHEDULER_PERSIST = True

    在spider里面修改继承的类RedisSpider,属性redis_key

    常用设置

    # 启用调度将请求存储进redis             SCHEDULER = "scrapy_redis.scheduler.Scheduler"

    # 确保所有spider通过redis共享相同的重复过滤     DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

    # 不清理redis队列,允许暂停/恢复抓取        SCHEDULER_PERSIST = True

    # 指定连接到Redis时要使用的主机和端口       REDIS_HOST = 'localhost'

                               REDIS_PORT = 6379

    redis中存储的数据

    spidername:items          list类型,保存爬虫获取到的数据item内容是json字符串

    spidername:dupefilter        set类型,用于爬虫访问的URL去重,内容是40个字符的url的hash字符串

    spidername:start_urls        list类型,用于接收redisspider启动时的第一个url

    spidername:requests         zset类型,用于存放requests等待调度。内容是requests对象的序列化字符串

  • 相关阅读:
    chrome浏览器postman 插件安装
    使用poi解决导出excel内下拉框枚举项较多的问题
    Nginx(三)------nginx 反向代理
    webpack 内存溢出 Allocation failed
    Postman 安装及使用入门教程 (谷歌浏览器插件版)
    jquery 控制 video 视频播放和暂停
    百度编辑器ueditor 光标位置的坐标
    mkdocs 生成帮助文档
    js 日期 相关
    vue-cli3 第三版安装搭建项目
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11861818.html
Copyright © 2020-2023  润新知