反爬机制识别与分层绕行
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_283a17af/anti-bot-bypass 技能到 AI 助手。
技能介绍
为什么 requests 越来越难用
你用标准 HTTP 客户端请求一个公开页面,返回 403 或 429,但手动打开浏览器却一切正常。这不是个例。现代风控系统不再只看 IP,而是同时检查 6~8 层信号并做交叉一致性校验:TLS 指纹、HTTP/2 帧顺序、Cookie 语义、甚至鼠标移动轨迹。当你的 User-Agent 声称是 Chrome,但 TLS 握手特征暴露了 Python 实现,中间的代理 IP 再干净也会被直接掐断。
这种信号不一致是多数采集任务的第一个拦路虎。盲目更换代理或升级到重型浏览器,往往只是浪费资源,因为问题可能只出在某一层配置上。
先诊断,再决策
这个技能的核心逻辑是分层判定与最低成本绕行。它不依赖重型浏览器,而是通过内置探针自动识别目标站点触发的防护层级,并给出阶梯式的解决方案。
- 探针判层:运行探针脚本,自动分析目标站点的防护机制(如 Cloudflare、瑞数、极验、阿里云 WAF 等),判断属于
L1(TLS 指纹)还是L3(JS 挑战)乃至L5(行为分析)。 - 寻找捷径:优先寻找
L0捷径。许多所谓的反爬其实是数据藏在XHR接口中,或者可以通过sitemap、RSS直接获取,无需渲染页面。 - 阶梯升级:如果必须绕过,从
L1开始(使用curl_cffi模拟浏览器指纹),只有被拒绝时才逐级向上。每一层的成本相差 5~50 倍,只有在强指纹场景(如 DataDome、Akamai)才建议启用L4级别的 C++ 层伪装或L5真实浏览器接管。 - 经验复用:内置 22 家国内外厂商指纹库和真实站点经验库,记录了如瑞数无限 debugger、Akamai 影子封禁等实战中才会遇到的坑,省去重新逆向的时间。
适用边界与合规红线
技能明确区分了技术可行与合规允许。它只能用于抓取公开可访问的数据,严格禁止以下行为:
- 绕过登录墙或付费墙抓取非公开数据。
- 破解验证码用于规模化对抗身份核验(如登录、支付环节)。
- 抓取受法律保护的个人信息(手机号、身份证等)。
- 高频请求导致目标服务压力过载(等同 DoS)。
在使用前,必须进行合规自检:确认目标站点的 robots.txt 协议、服务条款,并确保数据用途合法。对于隐藏在登录态之后的内容,无论技术手段如何,都属于拒绝服务的范围。技能会优先建议寻找合规的替代数据源,而不是强行绕过。
使用场景
- 你负责竞品价格监控,目标电商列表页被 Cloudflare 拦截返回 403,需要先判层再选 L1 或 L3 方案。
- 你在做行业公开数据研究,目标站是动态渲染且 XHR 接口签名,需要先找接口再决定是否上浏览器。
- 你要采集公开商品参数,页面数字乱码疑似字体反爬,需要还原字体映射表而不是直接抠 JS。
- 你准备低频礼貌抓取某政府公开公告页,想先跑探针确认防护层级并检查 robots 协议。
适合人员
- 负责竞品价格监控的后端工程师,需要处理 Cloudflare、Akamai 等拦截,同时控制代理与浏览器成本。
- 做公开行业研究的数据分析师,要在遵守 robots 与 ToS 的前提下稳定获取结构化公开数据。
- 维护招聘、电商公开榜单采集脚本的爬虫工程师,需要处理瑞数、极验、字体反爬与频繁改版。
- 给团队搭建数据流水线的工程负责人,希望把判层、限速、去重、合规检查纳入可审查流程。