scrapy_redis的大概思路:將爬取的url經過 hashlin.sha1生成惟一的指紋,持久化存入redis,以後的url判斷是否已經存在,達到去重的效果git
下載scrapy-redisgithub
git clone https://github.com/rmax/scrapy-redis.git
settingsredis
PIDER_MODULES = ['example.spiders'] NEWSPIDER_MODULE = 'example.spiders' USER_AGENT = 'scrapy-redis (+https://github.com/rolando/scrapy-redis)' # 指定RFPDupeFilter方法給request對象去重 DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 指定Scheduler隊列 SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 隊列中的內容是否持久化保存,False在redis關閉的時候清空redis SCHEDULER_PERSIST = True ITEM_PIPELINES = { 'example.pipelines.ExamplePipeline': 300, # scrapy_redis實現 items保存到redis的pipline 'scrapy_redis.pipelines.RedisPipeline': 400, } # 指定redis地址 # REDIS_URl = 'redis://192.168.1.103:6379' # 另外一種形式 指定redis地址 REDIS_HOST = 'localhost' REDIS_PORT = '6379'