爬虫日志里 AI 抓取的占比多少才需要单独做限速
爬虫日志里 AI 抓取的占比多少,才需要单独做限速?没有一个通用的占比阈值可以直接套。占比本身只说明请求由谁发起,限速要解决的是服务器负载与抓取意图,两者要分别判断:负载平稳就先动 robots 指令层的配置,负载真的被拖垮才动带宽与频率。外部统计里,AI 类爬虫在抓取请求中的占比已经不是边缘现象,Googlebot 为 23.80%,Meta-ExternalAgent 为 13.28%,ClaudeBot 为 13.23%,另有 7.9% 的请求被 403 Forbidden 挡回。
日志里怎么把 AI 爬虫分出来
第一步是按 user-agent 归类,而不是按 IP。搜索引擎爬虫与训练类爬虫的标识不同,用途也不同:检索类爬虫抓了要建索引,会给站点带来访客;训练类抓取只取内容,不产生回访。把两类混在一个统计里,得到的占比没有任何决策价值。
归类之后要配对两列数据:请求次数与产生的实际访客数。前者是压力,后者是回报,限速决策看的是两者的比值。请求量高、访客回报低的类别,才值得动手。
占比到什么程度值得动手
动手条件不看单个占比,看三件事是否同时成立。
| 观察项 | 说明什么 | 对应动作 |
|---|---|---|
| 抓取请求占比持续上升 | 抓取结构在变化 | 先核对 robots 指令配置 |
| 服务器并发压力上升、页面加载速度变慢 | 真实资源竞争 | 做频率与带宽限制 |
| 抓取量高但几乎没有对应访客 | 只有取走没有回流 | 考虑内容层措施 |
AnQiCMS 用 GoLang 开发,单机可承载约 500 万 PV,正常规模的企业站在负载层面不太容易被爬虫压垮。如果确实观察到页面加载速度受影响,先确认是不是采集类任务或图片资源在消耗资源,再决定要不要限制外部抓取。
动手的顺序:先指令再带宽再内容层
顺序错了会误伤收录。第一步是 robots 指令层:AnQiCMS 支持 Robots.txt 配置,把要区别对待的爬虫按标识写清楚,这是影响面最小的一步,只改变请求是否被欢迎,不改变服务器行为。
第二步是频率与带宽层,作用在网关或服务配置上,风险是规则写宽了把搜索引擎一起限到,需要用日志先验证被限的对象。第三步才是内容层措施,处理的是内容被批量取走的问题。
干扰码解决的是另一件事
防采集干扰码针对的是内容被批量采集,属于内容层,它不会降低抓取请求数量,也不参与限速。有人希望靠干扰码来应对爬虫压力,这两件事不在同一层:干扰码让搬走的内容质量下降,限速让服务器少接请求,一个管结果,一个管压力。
同理,被 403 挡回的比例高,说明站上已经在用指令层或访问层规则,这时更应该回看规则范围,而不是再加一层限制。
常见问题
要不要一开始就封锁训练类爬虫
不建议。先统计它带来的实际访客与抓取压力,再决定;指令层配置能表达态度,也不需要立刻改变服务器行为。
限速会不会影响正常收录
会,所以顺序很重要。robots 指令层的配置对搜索引擎影响可控,频率限制则需要用日志确认作用对象之后再做。
干扰码和 robots 能一起用吗
可以,两者不冲突。robots 管的是要不要来,干扰码管的是来了取走的东西质量如何。