测量两百多家站点后发现挡 AI 爬虫的只有三成,跟进前先确认什么
测量两百多家站点后发现挡 AI 爬虫的只有三成,跟进这类结论前先确认什么?先确认它数的是哪一层:这组样本是 261 家站点对 15 个用户代理写的授权规则,挡住训练类爬虫的约 35%,挡住检索类的约 21%。它统计的是「站点在 robots 文件里怎么写」,不是「爬虫实际抓了多少」,也不是「被引用的站点有多少」。口径没对齐就跟进,很容易把别人的分布当成自己的决策依据。
这组测量数的是哪两件事
一件事是抓取用途的分类。同一个「AI 爬虫」至少分两类:把内容用于模型训练的那类,和回答用户问题时实时检索内容的那类。样本里 15 个用户代理正是按这两类划开的,训练类与检索类的拦截比例并不相同,约 35% 与约 21% 的差就来自这里。
另一件事是站点在 robots 文件里的意愿表达。robots 只表达站方的请求,按协议行事的抓取方会读它,不遵守的一方不会因此停下。所以这两个比例描述的是行业写法分布,而不是实际防护效果分布。
挡与放行各自的代价
| 选择 | 得到的 | 付出的 | 适合的场景 |
|---|---|---|---|
| 拦截训练类 | 内容不被整体拿去训练 | 模型对站点内容的认知可能下降 | 内容即核心资产的原创站 |
| 放行检索类 | 更可能出现在实时回答的引用里 | 抓取频次与服务器负载上升 | 需要外部流量与曝光的站点 |
| 全部拦截 | 短期负载与不确定性最低 | 同时放弃检索类带来的可见性 | 内部站与未公开内容 |
| 全部放行 | 可见性机会最大 | 训练与检索两条链路都不设边界 | 把引用量视为首要目标的站点 |
「三成站点挡了爬虫」这句话的实操价值不在比例本身,而在它说明行业没有形成共识。真正要做的判断是:本站的内容是否已经公开、检索类抓取带来的可见性对你有没有商业意义、服务器能否承受额外的抓取频次。
robots 之外还有哪两层管抓取
第一层是 llms.txt。AnQiCMS 支持自动生成站点 LLMs.txt,它面向的是大语言模型如何理解站点结构——把站点的主要内容、边界与说明集中放在一个可被发现的位置。这一层解决的是「怎么被正确读」,不是「能不能读」。
第二层是防采集干扰码。robots 属于请求,干扰码属于输出:正常读者看到的是干净正文,直接落库的采集方拿到的文本带噪声。对不遵守协议的批量搬运,这一层比 robots 更实际。
三层要分开理解:robots 划范围,llms.txt 说明结构,干扰码处理输出。把它们当成一件事,就会出现「写了 robots 就以为挡住了」或者「上了干扰码就以为不用配 robots」的误判。
跟进前先做的三个确认
第一步看样本口径:这 261 家站点的类型分布与你所在行业是否可比,语言与市场范围是否一致。第二步看指标定义:分母是站点数还是请求数,拦截是按用户代理逐条判断还是整体屏蔽。第三步看自己日志:本站实际收到哪些抓取、频次多少、有没有超出robots写法的访问。
第三步是外部报告里给不出的信息——只有自己的服务器日志能说明本站的实际抓取情况。这一步做完之前,把行业比例当背景资料看会稳妥得多。
常见问题
三成这个数字可以直接引用吗? 要带口径引用,写成「某项基于 261 家站点的测量显示约 35% 拦截训练类爬虫」,脱离分母谈比例会变成错误结论。
训练类和检索类怎么在后台区分? 按用户代理与访问路径特征分组统计,先看分布再决定规则;只靠 UA 字符串判断容易被伪装影响。
上了 llms.txt 是不是就不用管 robots? 两者对象不同。llms.txt 说明站点结构,robots 表达抓取授权,缺一个都会出现「能读但读错」或「不许读但照样读」的情况。