這篇文章將為大家詳細(xì)講解有關(guān)scrapy項(xiàng)目中如何配置redis配置文件中的setting參數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)建站公司2013年成立,先為環(huán)翠等服務(wù)建站,環(huán)翠等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為環(huán)翠企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。scrapy項(xiàng)目 setting.py
#Resis 設(shè)置 #使能Redis調(diào)度器 SCHEDULER = 'scrapy_redis.scheduler.Scheduler' #所有spider通過redis使用同一個(gè)去重過濾器 DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter' #不清除Redis隊(duì)列、這樣可以暫停/恢復(fù) 爬取 #SCHEDULER_PERSIST = True #SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.PriorityQueue' #默認(rèn)隊(duì)列,優(yōu)先級(jí)隊(duì)列 #備用隊(duì)列。 #SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.FifoQueue' #先進(jìn)先出隊(duì)列 #SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.LifoQueue' #后進(jìn)先出隊(duì)列 #較大空閑時(shí)間防止分布式爬蟲因?yàn)榈却P(guān)閉 #SCHEDULER_IDLE_BEFORE_CLOSE = 10 #將抓取的item存儲(chǔ)在Redis中以進(jìn)行后續(xù)處理。 ITEM_PIPELINES = { 'scrapy_redis.pipelines.RedisPipeline':300, } # The item pipeline serializes and stores the items in this redis key. #item pipeline 將items 序列化 并用如下key名儲(chǔ)存在redis中 #REDIS_ITEMS_KEY = '%(spider)s:items' #默認(rèn)的item序列化方法是ScrapyJSONEncoder,你也可以使用自定義的序列化方式 #REDIS_ITEMS_SERIALIZER = 'json.dumps' #設(shè)置redis地址 端口 密碼 REDIS_HOST = 'localhost' REDIS_HOST = 6379 #也可以通過下面這種方法設(shè)置redis地址 端口和密碼,一旦設(shè)置了這個(gè),則會(huì)覆蓋上面所設(shè)置的REDIS_HOST和REDIS_HOST REDIS_URL = 'redis://root:redis_pass@xxx.xx.xx.xx:6379' #root用戶名,redis_pass:你設(shè)置的redis驗(yàn)證密碼,xxxx:你的主機(jī)ip #你設(shè)置的redis其他參數(shù) Custom redis client parameters (i.e.: socket timeout, etc.) REDIS_PARAMS = {} #自定義的redis客戶端類 #REDIS_PARAMS['redis_cls'] = 'myproject.RedisClient' # If True, it uses redis ``zrevrange`` and ``zremrangebyrank`` operation. You have to use the ``zadd`` # command to add URLS and Scores to redis queue. This could be useful if you # want to use priority and avoid duplicates in your start urls list. #REDIS_START_URLS_AS_SET = False # 默認(rèn)的RedisSpider 或 RedisCrawlSpider start urls key #REDIS_START_URLS_KEY = '%(name)s:start_urls' #redis的默認(rèn)encoding是utf-8,如果你想用其他編碼可以進(jìn)行如下設(shè)置: #REDIS_ENCODING = 'latin1'