scrapy 改写分布式爬虫
-
将爬虫的类从 scrapy.Spider 变成 scrapy_redis.scrapy.RdisSpider;或者从 scrapy.CrawlSpider 变成 scrapy_redis.spider.RedisCrawlSpider
-
将爬虫的 start_urls 删掉。增加一个 redis_key=\'xxx\'。
-
修改配置文件
scrapy-redis 去重组件DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
scrapy-redis 调度组件SCHEDULER = "scrapy_redis.scheduler.Scheduler"
scrapy-redis 项目中途可以暂停,不会清空 redis 数据库SCHEDULER_PERSIST = True
指定 redis 数据库的 ip 及端口号,不写默认为本地REDIS_HOST = ip
REDIS_PORT = host·scrapy-redis 的管道文件,把数据写进 redis 数据库,不启用则不会写进去·如果中途需要把数据存到其他数据库,scrapy-redis 的优先级应是最低的,因为 scrapy-redis 没有 returnITEM_PIPELINES = {
\'scrapy_redis.pipelines.RedisPipeline\': 400,
} -
在 master 端 lpush [redis_key中的名字] [start_urls]