分布式爬虫
# 分布式概念: 使用多台机器组成一个分布式的机群,在机群中运行同一组程序,进行联合数据的爬取。 # 原生scrapy无法实现分布式原因: - 原生的scrapy中的调度器不可以被共享 - 原生的scrapy的管道不可以被共享 # 使用scrapy实现分布式思路: - 为原生的scrapy框架提供共享的管道和调度器 - pip install scrapy_redis - 1. 创建工程: scrapy startproject projectname - 2. 爬虫文件: scrapy genspider -t crawl spidername www.baidu.com - 3. 修改爬虫文件: - 3.1 导包:from scrapy_redis.spiders import RedisCrawlSpider - 3.2 将当前爬虫类的父类进行修改RedisCrawlSpider - 3.3 allowed_domains,start_url注释掉,添加一个新属性redis_key='qn'(调度器 队列的 名称) - 3.4 指定redis_key = 'xxx', 即共享调度器队列名字 - 3.4 数据解析,将解析的数据封装到item中然后向管道提交 - 4. 配置文件的编写: - 4.1 指定管道: ITEM_PIPELINES = { 'scrapy_redis