zoukankan      html  css  js  c++  java
  • 分布式爬虫

    pip install scrapy-redis

    scrapy genspider -t crawl xxx www.xxx.com

    class ChoutiSpider(RedisCrawlSpider):
    name = 'chouti'
    # allowed_domains = ['www.chouti.com']
    # start_urls = ['http://www.chouti.com/']
    redis_key = 'chouti'
    rules = (
    Rule(LinkExtractor(allow=r'/hot/d+'), callback='parse_item', follow=True),
    )
    #setting 中设置
    
    
    使用组件中封装好的可以被共享的管道类:
            ITEM_PIPELINES = {
                'scrapy_redis.pipelines.RedisPipeline': 400
                }

    配置调度器(使用组件中封装好的可以被共享的调度器) # 增加了一个去重容器类的配置, 作用使用Redis的set集合来存储请求的指纹数据, 从而实现请求去重的持久化
    DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 使用scrapy-redis组件自己的调度器 SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 配置调度器是否要持久化, 也就是当爬虫结束了, 要不要清空Redis中请求队列和去重指纹的set。如果是True, 就表示要持久化存储, 就不清空数据, 否则清空数据 SCHEDULER_PERSIST = True 指定存储数据的redis: REDIS_HOST = 'redis服务的ip地址' REDIS_PORT = 6379


    配置redis数据库的配置文件 取消保护模式:protected-mode no bind绑定: #bind 127.0.0.1 - 启动redis 6.执行分布式程序 scrapy runspider xxx.py 7.向调度器队列中仍入一个起始url: 在redis-cli中执行:
  • 相关阅读:
    关于软工文档规范性——国标文档
    关于游戏平衡性——王者荣耀野怪数值参考
    单元测试特性标签(结合代码)
    常用标签梳理
    图片文件的转换、加载及缩放显示
    认识ManualResetEvent
    HTML简介
    HTML基本结构
    15年,我在深圳
    为什么坚持,想一想当初
  • 原文地址:https://www.cnblogs.com/ls1997/p/10878209.html
Copyright © 2011-2022 走看看