scrapy-redis的一些配置

scrapy爬蟲中使用scrapy-redis做分布式

#啟用Redis調(diào)度存儲請求隊列
SCHEDULER = "scrapy_redis.scheduler.Scheduler"

#確保所有的爬蟲通過Redis去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

#默認請求序列化使用的是pickle 但是我們可以更改為其他類似的。PS:這玩意兒2.X的可以用。3.X的不能用
#SCHEDULER_SERIALIZER = "scrapy_redis.picklecompat"

#不清除Redis隊列、這樣可以暫停/恢復 爬取
#SCHEDULER_PERSIST = True

#使用優(yōu)先級調(diào)度請求隊列 (默認使用)
#SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.PriorityQueue'
#可選用的其它隊列
#SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.FifoQueue'
#SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.LifoQueue'

#最大空閑時間防止分布式爬蟲因為等待而關(guān)閉
#這只有當上面設(shè)置的隊列類是SpiderQueue或SpiderStack時才有效
#并且當您的蜘蛛首次啟動時,也可能會阻止同一時間啟動(由于隊列為空)
#SCHEDULER_IDLE_BEFORE_CLOSE = 10

#將清除的項目在redis進行處理
ITEM_PIPELINES = {
    'scrapy_redis.pipelines.RedisPipeline': 300
}

#序列化項目管道作為redis Key存儲
#REDIS_ITEMS_KEY = '%(spider)s:items'

#默認使用ScrapyJSONEncoder進行項目序列化
#You can use any importable path to a callable object.
#REDIS_ITEMS_SERIALIZER = 'json.dumps'

#指定連接到redis時使用的端口和地址(可選)
#REDIS_HOST = 'localhost'
#REDIS_PORT = 6379

#指定用于連接redis的URL(可選)
#如果設(shè)置此項,則此項優(yōu)先級高于設(shè)置的REDIS_HOST 和 REDIS_PORT
#REDIS_URL = 'redis://user:pass@hostname:9001'

#自定義的redis參數(shù)(連接超時之類的)
#REDIS_PARAMS  = {}

#自定義redis客戶端類
#REDIS_PARAMS['redis_cls'] = 'myproject.RedisClient'

#如果為True,則使用redis的'spop'進行操作。
#如果需要避免起始網(wǎng)址列表出現(xiàn)重復,這個選項非常有用。開啟此選項urls必須通過sadd添加,否則會出現(xiàn)類型錯誤。
#REDIS_START_URLS_AS_SET = False

#RedisSpider和RedisCrawlSpider默認 start_usls 鍵
#REDIS_START_URLS_KEY = '%(name)s:start_urls'

#設(shè)置redis使用utf-8之外的編碼
#REDIS_ENCODING = 'latin1'

至少需要配置如下:

SCHEDULER = "scrapy_redis.scheduler.Scheduler"
 
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
 
REDIS_URL = 'redis://root:密碼@主機IP:端口'

參考文檔:https://doc.scrapy.org/en/latest/index.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容