scrapy redis配置文件setting参数详解


Posted in Python onNovember 18, 2020

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

Python 相关文章推荐
python原始套接字编程示例分享
Feb 21 Python
探索Python3.4中新引入的asyncio模块
Apr 08 Python
详解Python当中的字符串和编码
Apr 25 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
python编码最佳实践之总结
Feb 14 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
Jun 14 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python实现回旋矩阵方式(旋转矩阵)
Dec 04 Python
解决python web项目意外关闭,但占用端口的问题
Dec 17 Python
python global和nonlocal用法解析
Feb 03 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 18 #Python
详解Scrapy Redis入门实战
Nov 18 #Python
如何在scrapy中集成selenium爬取网页的方法
Nov 18 #Python
Python 实现键盘鼠标按键模拟
Nov 18 #Python
如何向scrapy中的spider传递参数的几种方法
Nov 18 #Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 #Python
Python下载的11种姿势(小结)
Nov 18 #Python
You might like
php Imagick获取图片RGB颜色值
2014/07/28 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
家长对小学生的评语
2014/01/28 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
python Tkinter模块使用方法详解
2022/04/07 Python