{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"首页","item":"https://www.clwaf.com/"},{"@type":"ListItem","position":2,"name":"帮助文档","item":"https://www.clwaf.com/help"},{"@type":"ListItem","position":3,"name":"爬虫治理","item":"https://www.clwaf.com/help/crawler"}]}

7. 爬虫治理

「防护规则 → 爬虫IP库」背后是两套完全不同性质的数据,混为一谈会出事故:一套拦恶意脚本,一套识别并保护真蜘蛛。

7.1 恶意爬虫 IP 库(黑名单)

来源是引擎在防护过程中实锤的脚本行为,不是猜测。入库原因有九种:

入库原因什么行为触发
Cookie 过期用过期凭证反复访问验证接口
短期重复验证通过短时间内高频「通过验证」,人不可能这么快
多次验证失败单会话静默 3 次 / 交互 5 次用满
短时错误频繁短时间大量异常请求
资源请求不完整验证页的必需静态资源没按预期加载(无头浏览器典型特征)
失败围栏60 秒窗口内「不像人」的失败 ≥5 次且 0 成功
无 JS 执行完全不执行 JS 的客户端
指纹头矛盾UA 声称是 Chrome 但 Sec-CH-UA 等指纹对不上
后台手动你自己在后台手工添加的
爬虫 IP 库

三个必须知道的行为特征

  1. 命中即拦,且不会自动解除。 这是有意的:被这套机制实锤的来源,没有「观察一阵子再说」的价值。误拦了才需要人工处理。
  2. 入库有延迟是正常的。 引擎本地先在内存里拦截,批量落库(攒 5 秒或 100 条),后台列表晚几秒出现是预期行为,不是丢了。
  3. 解除只有两个途径:列表里手动删除该 IP,或把该条禁用(status=0,保留记录不再拦截)。没有自动解封时间——如果你期望「封 30 分钟自动放出来」,那是 CC 的行为,不是爬虫库的。

误拦处理流程

  1. 攻击日志 / 业务反馈确认被拦 IP
  2. 到爬虫 IP 库搜该 IP,看入库原因
  3. 判断是真是误:

- 入库原因是「Cookie 过期」「多次验证失败」,且该 IP 属于办公网/合作方 → 加白名单跳过验证,然后删库记录
- 入库原因是「资源请求不完整」「指纹头矛盾」 → 99% 是真脚本,别删

  1. 治本:把误拦来源做成白名单(按 IP 组),下次不会再入库

7.2 搜索引擎蜘蛛 IP 库(基准库,白名单性质)

SEO 是命根子,但搜索引擎的爬虫也分真假:伪装成 Baiduspider 的脚本满大街。畅来WAF 的做法不是「看到蜘蛛 UA 就放行」(那等于给所有脚本开后门),而是 rDNS 金标准回验:

请求 UA 命中搜索引擎特征
  ↓
对来源 IP 做 PTR 反向解析
  ↓
反解域名匹配该引擎官方后缀(如 *.baidu.com / *.googlebot.com)
  ↓
对反解结果做正向解析,确认 IP 回得来(防伪造 PTR)
  ↓
三步全过 → 认定为真蜘蛛,按 IP 段归档
项说明
支持的引擎百度 / 必应 / 360 / 搜狗 / 神马 / Google / Petal / Apple / Yandex / DuckDuckGo,共 10 家
数据形态引擎把确认的真蜘蛛 IP 无损聚合成 IP 段,每日增量上报云平台
云平台侧区间并集合并成最简 CIDR,去重后沉淀为全网共享的蜘蛛基准库
用途确认真蜘蛛;配合白名单「跳过验证 / 跳过 CC」让蜘蛛顺畅抓取;未被回验证实的「假蜘蛛」照常吃完整防护链

常见误区:担心蜘蛛被 WAF 拦掉影响收录。真蜘蛛(rDNS 三步全过)不会被当恶意爬虫入库;会拦的是伪造蜘蛛 UA 的脚本——它们被拦恰好保护了你的 SEO 环境。

7.3 云共享爬虫库 [Pro]

单个引擎看到的攻击者有限,共享库把全网实例的实锤数据汇起来:

你的业务数据不参与共享。 上报内容只有 IP + 入库原因 + 时间戳,没有 URI、没有 UA、没有业务请求信息。


下一步:8. 观测与排障

双11 首发 · 限时 5 折
5折
首发专享限量 100 份 · 定金 ¥10 锁名额
日常价 ¥2,998¥1,499首发直降 ¥1,499
距定金截止仅剩
00天00时00分00秒

* 首发价仅限本次双11预售期,明年双11恢复日常价

0.026626s