爬虫请求频率怎么控制?从撞墙到稳定采集的完整思路

爬虫请求频率怎么控制?从撞墙到稳定采集的完整思路

 悟空代理IP  2026-05-28  29


爬虫被风控拦住,第一时间查的是IP,第二时间查的就是请求频率。很多人在「请求太快被发现」和「太慢了采不完」之间反复横跳,其实问题的关键不是快慢本身,而是你的访问模式像不像正常人。

目标网站怎么判断你是爬虫

风控系统会在服务器端记录每个IP的访问时序,然后分析模式特征。正常用户访问时,有的页面看3秒,有的看30秒,中间可能切出去回个微信再回来。爬虫的访问通常是每个页面停留1-3秒然后翻下一页,节奏像节拍器一样整齐。

风控系统不需要知道你用的是什么爬虫框架,只要检测到访问间隔的标准差很小(比如每次间隔都是1.8秒±0.1秒),就能判断这是程序行为。

所以控频的重点不是「放慢」,而是让访问间隔看起来不规律。

三层控制策略

第一层:请求间隔的随机化

最基础也最容易做错的一步。很多人以为加个sleep(random.uniform(1, 5))就够了,但均匀分布的随机延迟产生的访问模式依然能被特征分析识别,因为均匀分布的标准差是可预测的。

更好的做法是使用偏态分布来模拟真实用户的浏览行为:大多数页面看得快(2-5秒),少数页面看得久(10-30秒)。下面是一个简单的实现示例:

import time
import random

def human_delay():
    # 80%概率快浏览:2-6秒
    # 15%概率中速浏览:8-15秒
    # 5%概率长时间停留:20-60秒(模拟用户去做别的事了)
    r = random.random()
    if r < 0.8:
        delay = random.uniform(2, 6)
    elif r < 0.95:
        delay = random.uniform(8, 15)
    else:
        delay = random.uniform(20, 60)
    time.sleep(delay)

这种三层分段式延迟更接近真实用户的浏览分布。你可以根据目标网站的类型调整参数:电商商品详情页可能看得更久,新闻列表页看得更快。

第二层:分页节奏的变速控制

列表翻页是风控最关注的环节之一。真实用户翻10页可能花30分钟,因为中间会点进去看详情、会犹豫、会走神。

如果不点进详情页、只翻列表,每页停留2秒,10页20秒搞定,这个模式太明显了。怎么解决:翻页前随机抽取1-2条点进详情页,在详情页做更长时间的停留(15-45秒);翻页间穿插不规律的长停留,比如翻到第5页停顿2分钟再继续;不要一次翻到底,真实用户很少连续翻超过10页。

第三层:多IP下的总并发控制

如果你用了动态代理,每个请求换一个IP,风控确实更难追踪,但目标网站看的是全局。同一段时间内,来自不同IP但行为模式一致的请求大量涌入,同样会触发全站防护升级。

好的做法是:给每个IP分配不同的延迟参数,不要让所有并发线程用同一套延迟逻辑;控制全局QPS(每秒请求数),不要因为换了IP就觉得可以无限制加速;避开目标网站的流量高峰做全量采集,凌晨3点全站疯狂翻页即使IP各不相同也会被标记。

遇到验证码怎么办

请求频率控制再好,某些目标网站的防护阈值依然很低。碰到验证码弹窗时的处理方式:

  • 不要立刻重试。验证码意味着你的行为已经被标记了,立即重试只会让风控等级继续上升
  • 降低该IP+该域名的请求频率,至少等5-10分钟后再恢复
  • 如果是大规模采集撞了验证码墙,切换到新的IP段,并且把全局QPS下调50%重新开始

顺便提一句:验证码的出现不一定说明你的频率快了,也可能是你在短时间内请求了太多不同类型的页面(比如首页→列表页→详情页→评论页→相似推荐页),这个浏览路径不像正常用户。真实的用户很少在3分钟内把一个商品页的所有关联页面都看一遍。

配合代理IP的质量控制

请求频率策略做得再精细,如果代理IP本身质量差,依然会被封。两个容易被忽视的点:IP类型要匹配场景,如果目标网站风控严格(电商、社媒),机房IP即使控频再精细也容易触发验证码,换个住宅IP通过率高得多;IP更换不要过于机械,有些爬虫的逻辑是「被封就换IP」,同一个请求用第1个IP被拒、0.1秒后用第2个IP再发,目标网站看到的是一台机器瞬间换了几个身份尝试,这在风控系统里是高级威胁特征。比较稳妥的方式是封装一整套会话(Session+Cookie+UA+IP),被封后整套全换,而不是只换IP。

对于大规模采集场景,隧道代理的自动IP轮换配合请求频率随机化,是比较成熟的组合方案。隧道代理省去了手动管理IP池的代码,可以把精力集中在策略优化上。想试一下效果?去悟空代理官网申请免费试用,跑两天数据就能验证。

排障清单

如果你的爬虫还在被封,按这个顺序逐项检查:

  1. ✅ 请求间隔是偏态分布而非均匀分布
  2. ✅ 翻页间有随机的长停留和详情页跳转
  3. ✅ 多IP并发使用不同的延迟参数
  4. ✅ 遇到验证码后降低频率而非立即重试
  5. ✅ Cookie和Session随IP切换同步更新
  6. ✅ User-Agent轮换池有至少5个真实的现代浏览器UA
  7. ✅ IP类型匹配目标网站的风控强度

前5条做好,后2条是锦上添花。先搞定基础,再上高级方案。

看完还是拿不准自己的频率策略对不对?去悟空代理官网申请免费试用,配合住宅IP或隧道代理跑两天实测,数据会告诉你答案。


相关阅读:

悟空代理注册送ip
免费试用

客服

在线客服:

:3329077489

:18328351249 / 13316588914

:service@wukongdaili.com

官方客服微信二维码 官方客服

技术客服微信二维码 技术客服