scrapy-redis
2019-01-07 本文已影响0人
瘦不下去了
设置去重组件,使用的是scrapy-redis的去重组件,而不再是scrapy框架自己的去重组件了
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
设置调度器,使用的是scrapy-redis重写的调度器,不在使用scrapy自带调度器
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
可以实现断点爬取(请求的记录不会消失,会存储在redis数据库中,不会清楚redis的任务队列)
SCHEDULER_PERSIST = True
设置调度器任务队列的模式
SCHEDULER_QUEUE是scrapy-redis默认使用的队列模式(有自己的优先级)
SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"
使用了队列的模式,任务先进先出
SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"
采用了栈的形式,任务先进后出
SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack"
ITEM_PIPELINES = {
'example.pipelines.ExamplePipeline': 300,
#实现这个管道,可以将爬虫端获取的item数据,统一保存在redis数据库中
'scrapy_redis.pipelines.RedisPipeline': 400,
}
LOG_LEVEL = 'DEBUG'
Introduce an artifical delay to make use of parallelism. to speed up the crawl.
DOWNLOAD_DELAY = 1
指定要存储的redis数据库的主机ip
REDIS_HOST = '127.0.0.1'
指定redis数据库主机的端口
REDIS_PORT = 6379