scrapy redis配置文件setting参数详解

时间:2021-05-22

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 RedisSpiderclass 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参数详解的文章就介绍到这了,更多相关scrapy redis配置setting参数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章