您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關scrapy項目中如何配置redis配置文件中的setting參數,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
scrapy項目 setting.py
#Resis 設置 #使能Redis調度器 SCHEDULER = 'scrapy_redis.scheduler.Scheduler' #所有spider通過redis使用同一個去重過濾器 DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter' #不清除Redis隊列、這樣可以暫停/恢復 爬取 #SCHEDULER_PERSIST = True #SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.PriorityQueue' #默認隊列,優先級隊列 #備用隊列。 #SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.FifoQueue' #先進先出隊列 #SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.LifoQueue' #后進先出隊列 #最大空閑時間防止分布式爬蟲因為等待而關閉 #SCHEDULER_IDLE_BEFORE_CLOSE = 10 #將抓取的item存儲在Redis中以進行后續處理。 ITEM_PIPELINES = { 'scrapy_redis.pipelines.RedisPipeline':300, } # The item pipeline serializes and stores the items in this redis key. #item pipeline 將items 序列化 并用如下key名儲存在redis中 #REDIS_ITEMS_KEY = '%(spider)s:items' #默認的item序列化方法是ScrapyJSONEncoder,你也可以使用自定義的序列化方式 #REDIS_ITEMS_SERIALIZER = 'json.dumps' #設置redis地址 端口 密碼 REDIS_HOST = 'localhost' REDIS_HOST = 6379 #也可以通過下面這種方法設置redis地址 端口和密碼,一旦設置了這個,則會覆蓋上面所設置的REDIS_HOST和REDIS_HOST REDIS_URL = 'redis://root:redis_pass@xxx.xx.xx.xx:6379' #root用戶名,redis_pass:你設置的redis驗證密碼,xxxx:你的主機ip #你設置的redis其他參數 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 # 默認的RedisSpider 或 RedisCrawlSpider start urls key #REDIS_START_URLS_KEY = '%(name)s:start_urls' #redis的默認encoding是utf-8,如果你想用其他編碼可以進行如下設置: #REDIS_ENCODING = 'latin1'
類scrapy_redis.spiders.RedisSpider使spider可以從redis數據庫中讀取URL。Redis隊列中的URL將被爬取,如果第一個請求產生更多請求,則spider將處理這些請求,然后再從Redis中獲取另一個URL。
創建spider
from scrapy_redis.spiders import RedisSpider class MySpider(RedisSpider): name = 'myspider' def parse(self, response): # do stuff pass
在redis-cli設置start_url
redis-cli lpush myspider:start_urls http://google.com
關于scrapy項目中如何配置redis配置文件中的setting參數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。