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

上一篇下一篇

猜你喜欢

热点阅读