### [代理IP采集数据时请求频率怎么控制?反反爬的最佳实践](https://www.jiyueip.com/article/13651) **Published:** 2026-07-30T10:16:11 **Author:** 斑斓助理 **Excerpt:** 数据采集被封IP的根本原因不是用了代理,是请求频率不像正常人。人浏览网页是几秒一个页面+随机停顿,你的脚本是每秒100个请求+毫秒级响应。频率控制的目标是用尽可能快的速度完成采集任务同时让请求模式看起来像人。 什么样的频率会被判定为异常 风 数据采集被封IP的根本原因不是用了代理,是请求频率不像正常人。人浏览网页是几秒一个页面+随机停顿,你的脚本是每秒100个请求+毫秒级响应。频率控制的目标是用尽可能快的速度完成采集任务同时让请求模式看起来像人。 ## 什么样的频率会被判定为异常 风控系统判断异常频率的几个信号:请求间隔完全一致(每隔500毫秒一个请求→显然是脚本)、单IP短时间内请求数远超正常浏览上限、同一IP访问了不应该有访问量的冷门页面、只抓HTML不加载CSS/JS/图片→正常浏览器会加载这些资源。 天行IP的独享代理(邀请码 **blsj**,月付6元起)即使IP没问题,请求模式异常照样会被封。频率控制和IP质量是两件事。 ## 基础频率控制 ``` import time, random for url in urls: response = session.get(url, proxies=proxy) time.sleep(random.uniform(2, 5)) # 随机等2-5秒 ``` 随机间隔是关键——固定2秒和随机2-5秒从风控视角完全不同。random.uniform在范围内均匀分布。 ## 进阶:模拟人类浏览行为 - 请求数量模仿:正常人在一个网站不会连续翻100页。每翻3-5页插入一段更长的停顿(15-60秒),模拟”去做了别的事”。 - 顺序模仿:别直接遍历product?id=1→2→3→……太明显。用正态分布生成ID序列——集中在某个范围、偶尔跳到远处。 - 会话长度模仿:一个IP连续访问2-5分钟后断开换一个新IP重新开始,模拟不同用户的行为节奏。 ## 多IP分摊请求 把1个IP每秒发10个请求的压力分摊到10个IP各每秒1个请求——总速度不变但每个IP看起来都是正常用户。这是横向扩展的核心价值——多IP并行每个IP低频率。 ## 请求头配合 频率+请求头一起做效果最好:随机User-Agent、正常的Referer(搜索引擎或站内页面)、Accept-Language和IP地区匹配。参考第41篇(ID 13592)。 ## 常见问题 ### 加随机延迟后采集速度太慢了? 多IP并行分摊——1个IP每3秒一个请求 = 20个/分钟。10个IP并行 = 200个/分钟。总速度够了,每个IP看起来还是正常人。 ### 怎么知道自己被风控了? 返回验证码页面(状态码200但内容有captcha)、返回503/429状态码、IP突然完全连不上目标网站但能访问其他网站(IP被目标站点封了)。 ### 网站改了风控规则怎么适应? 采集任务的请求日志保留下来——URL、状态码、响应时间。风控升级后日志里失败的请求会有共性——针对这些特征调整策略。 **Tags:** 代理IP, 数据采集合规 **Categories:** 行业洞察 ---