美文网首页爬虫技术
scrapy AutoThrottle

scrapy AutoThrottle

作者: cdz620 | 来源:发表于2020-03-06 23:06 被阅读0次

主要有两种限速方式

DOWNLOAD_DELAY 和 (CONCURRENT_REQUESTS_PER_DOMAIN 或 CONCURRENT_REQUESTS_PER_IP) 组合控制

RANDOMIZE_DOWNLOAD_DELAY = True
DOWNLOAD_DELAY = 0.75
CONCURRENT_REQUESTS_PER_DOMAIN = 8
CONCURRENT_REQUESTS_PER_IP = 0
  • 当CONCURRENT_REQUESTS_PER_IP非零时忽略CONCURRENT_REQUESTS_PER_DOMAIN设置
  • RANDOMIZE_DOWNLOAD_DELAY = True 真正使用延时 = (0.5 ~ 1.5)* DOWNLOAD_DELAY

访问数量限制

  • CONCURRENT_REQUESTS 下载器的最大并发下载数量
  • CONCURRENT_REQUESTS_PER_IP 访问同一个ip的最大并发数量
  • CONCURRENT_REQUESTS_PER_DOMAIN 如果上一个设置非0, 这个失效

使用限速模块AutoThrottle

详细算法位置:scrapy.extensions.throttle line:_adjust_delay

DOWNLOAD_DELAY = 12
CONCURRENT_REQUESTS_PER_IP = 1
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 1.0
AUTOTHROTTLE_MAX_DELAY = 60.0
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
AUTOTHROTTLE_DEBUG = True
  1. 启动时采用AUTOTHROTTLE_START_DELAY当做起始的延迟, 此时previous_delay = AUTOTHROTTLE_START_DELAY
  2. 收到应答后的时间为latency,计算下次目标延时:tag_delay = latency / AUTOTHROTTLE_TARGET_CONCURRENCY
  3. next_delay = download_delay + (tag_delay + previous_tag_delay) / 2
  4. 非200的代码不会降低延迟速度
  5. 下载延迟不会少于DOWNLOAD_DELAY 或大于AUTOTHROTTLE_MAX_DELAY
  6. AutoThrottle 是基于计算服务器响应能力的算法,DOWNLOAD_DELAY + 预估服务器响应能力延迟。算法不与DOWNLOAD_DELAY冲突,会尊重DOWNLOAD_DELAY机制。

相关文章

  • scrapy AutoThrottle

    主要有两种限速方式 DOWNLOAD_DELAY 和 (CONCURRENT_REQUESTS_PER_DOMAI...

  • 简单 Scrapy 使用小结

    Scrapy 安装Scrapy pip install scrapy Scrapy Doc 查看Scrapy的文档...

  • scrapy框架

    一、scrapy简介 二、scrapy原理 三、scrapy工作流程 四、scrapy框架的创建 五、scrapy...

  • Scrapy笔记

    Scrapy笔记 安装scrapy框架: 安装scrapy:通过pip install scrapy即可安装。 如...

  • scrapy笔记

    1 scrapy的运行原理 参考:Learning Scrapy笔记(三)- Scrapy基础Scrapy爬虫入门...

  • Scrapy基础(一): 安装和使用

    安装 新建scrapy项目 目录 scrapy模板 使用pycharm调试scrapy执行流程 scrapy 终端...

  • python爬虫13:scrapy

    scrapy的结构 scrapy的工作原理 scrapy的用法

  • Scrapy笔记

    Scrapy笔记 pip 指定源安装模块 创建Scrapy项目 创建Scrapy爬虫程序 启动Scrapy爬虫 在...

  • PyCharm运行和调试Scrapy

    前言: PyCharm运行和调试Scrapy,首先需要安装Scrapy,安装Scrapy请点链接Scrapy的安装...

  • 11- Scrapy-Redis分布式

    Scrapy和Scrapy-Redis的区别 安装Scrapy-Redis Scrapy-Redis介绍 提供了下...

网友评论

    本文标题:scrapy AutoThrottle

    本文链接:https://www.haomeiwen.com/subject/sfxjchtx.html