分布式爬虫大概介绍

分布式爬虫介绍

原理

1 多台主机共享1个爬取队列

实现

  • 为什么使用redis

      1、Redis基于内存,速度快
      2、Redis非关系型数据库,Redis中集合,存储每个request的指纹
      3、scrapy_redis安装
      		sudo pip3 install scrapy_redis
    

Redis使用

  • windows安装

     	1、服务端启动 :cmd命令行 -> redis-server.exe
     	客户端连接 :cmd命令行 -> redis-cli.exe
    
  • Ubuntu安装redis

      # 安装
      sudo apt-get install redis-server
      # 启动
      redis-server
      # 连接
      redis-cli -h IP地址
    

改写为分布式(redis)

  1. settings.py

    # 使用scrapy_redis的调度器
    SCHEDULER = "scrapy_redis.scheduler.Scheduler"
    # 使用scrapy_redis的去重机制
    DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
    # 在ITEM_PIPELINES中添加redis管道
    'scrapy_redis.pipelines.RedisPipeline': 200
    # 定义redis主机地址和端口号
    REDIS_HOST = '172.40.91.129'
    REDIS_PORT = 6379
    
  2. 修改管道

    ITEM_PIPELINES = {
    'Tencent.pipelines.TencentPipeline': 300,
    # 'scrapy_redis.pipelines.RedisPipeline': 200
    'Tencent.pipelines.TencentMongoPipeline':200,
    }
    
  3. 清楚Redis数据库

    在Redis数据库运行		redis-cli.exe
    flushall
    

你可能感兴趣的:(分布式爬虫大概介绍)