Scrapy_Redis Settings.py设置文件

设置ua,来模拟浏览器请求

#USER_AGENT = 'downloadmiddlerware (+http://www.yourdomain.com)'

设置请求的最大并发数据(下载器) 默认是16

#CONCURRENT_REQUESTS = 32

设置请求的下载延时,默认为0

#DOWNLOAD_DELAY = 3

设置网站的最大并发请求数量,默认是8

#CONCURRENT_REQUESTS_PER_DOMAIN = 16

设置某个ip的最大并发请求数量,默认是0
如果非0

1.CONCURRENT_REQUESTS_PER_DOMAIN不生效,
这时候请求的并发数量将针对于ip,而不是网站了

2.设置的DOWNLOAD_DELAY就是正对于ip而不是网站了

CONCURRENT_REQUESTS_PER_IP = 16

关于日志信息的设置

LOG_FILE = 'xxx.log'
LOG_LEVEL = 'INFO/DEBUG/....'

是一个终端的扩展插件

#TELNETCONSOLE_ENABLED = False

设置默认的请求头(cookies信息不要放在这里)

DEFAULT_REQUEST_HEADERS = {
  # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  # 'Accept-Language': 'en',
    'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36',

}

设置和激活爬虫中间件

#SPIDER_MIDDLEWARES = {
#    'downloadmiddlerware.middlewares.DownloadmiddlerwareSpiderMiddleware': 543,
#}

设置和激活下载中间件(后面的数字表示优先级)

DOWNLOADER_MIDDLEWARES = {
   # 'downloadmiddlerware.middlewares.DownloadmiddlerwareDownloaderMiddleware': 543,
   #  'downloadmiddlerware.middlewares.UserAgentDownloadMiddlerware':543,
    'downloadmiddlerware.middlewares.SeleniumDownloadMiddlerWare':543,
}

设置扩展

#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}

设置和激活管道文件(后面的数字表示优先级)

#ITEM_PIPELINES = {
#    'downloadmiddlerware.pipelines.DownloadmiddlerwarePipeline': 300,
#}

自动限速的扩展(实现上一个请求和下一个请求之间的时间是不固定的)
默认请情框下自动限速的扩展是关闭的

:AUTOTHROTTLE_ENABLED:False
# AUTOTHROTTLE_ENABLED = True

初始的下载吧延时默认是5秒

# AUTOTHROTTLE_START_DELAY = 5

最大下载延时

# AUTOTHROTTLE_MAX_DELAY = 60

针对于网站的最大的并行请求数量

# AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0

调试模式:默认为False,未开启

# AUTOTHROTTLE_DEBUG = False

设置数据的缓存,默认情况下是未开启的

HTTPCACHE_ENABLED = True

设置缓存的超时时间,默认为0表示永久有效

HTTPCACHE_EXPIRATION_SECS = 0

设置缓存的存储文件路径

HTTPCACHE_DIR = 'httpcache'

设置去重组件,使用的是scrapy_redis的去重组件,而不再使用scrapy框架自己的去重组件了

DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

设置调度器,使用的是scrapy_redis重写的调度器,而不再使用scrapy框架自带的调度器了

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

可以实现断点爬取(请求的记录不会丢失,会存储在redis数据库中,不会清除redis的任务队列)

SCHEDULER_PERSIST = True

设置任务队列的模式
SpiderPriorityQueue是scrapy_redis默认使用的队列模式(有自己的优先级)

SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"

使用了队列的形式,任务先进先出

#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"

采用了栈的形式,任务先进后出

#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack"
`
ITEM_PIPELINES = {
    'example.pipelines.ExamplePipeline': 300,
    # 实现这个管道,可以将爬虫端获取的item数据,统一保存在redis数据库中
    'scrapy_redis.pipelines.RedisPipeline': 400,
}

指定要存储的redis数据库的主机ip

REDIS_HOST = '127.0.0.1'

指定redis数据库主机的端口

REDIS_PORT = 6379

转自:https://www.jianshu.com/p/7bc1b21d8073

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值