# AI 爬虫 robots.txt 政策：v1.1 方法与数据字典

## 本次修订的范围

本版是历史快照的勘误，不是新采集。保留原 1,000 个域名、64 列和全部 token 判定。仅匹配 `/`；14 项中两个普通搜索标识单列为对照，主指标统计其余 12 个 AI 相关标识。分母是原采集器标记 robots_parse_ok=1 的子样本，不代表独立核验过的真实内容网站。

Disallow 匹配只表示根路径声明受限，没有匹配也不能证明网络可访问、已经收录、用于训练或获得 AI 引用。用户触发访问的 robots 适用范围因供应商不同；控制 token 不是独立请求 UA。CCBot 是开放数据采集，Bytespider 的具体后续用途在这里未获独立核实。

## 样本、时间和采集

历史日志记录探测 3,000 个过滤后候选、1,931 个通过启发式条件，按排名保留前 1,000 个。榜单日期记录为 2026-11-08，但永久 Tranco ID 与完整榜单归档缺失。首次采集结束为 2026-11-09T02:48:00Z，后续补抓没有逐请求时间，不能把榜单日期写成所有记录的抓取时刻。

旧采集器采用 10 秒超时、最多 5 次重定向、200,000 字节读取上限；SearchVitalsBot 请求及浏览器 UA 重试均不代表官方机器人身份。可读 robots 可直接入样，不一定检查主页内容；样本仍有基础设施、别名及筛选偏差，不能推广为全球随机网站或原始排名前 1,000 的总体比例。

## 字段与判定

- domain/rank：域名统计单位与记录的排名；别名仍是不同域名。
- eligible：历史准入标志，不是网站内容资格认证。
- robots_status/final_url/redirects/bytes/content_type/ua_used：请求元数据，部分失败补抓行混有不同 attempt 的字段。
- robots_parse_ok/state/missing/error/groups：旧分类器状态。absent 不等于已确认文件不存在，四个 unknown 也不代表完整的不可判定数量。
- 每个 token 的值：blocked/allowed/no_rule/unknown，均为旧根路径匹配器结果；rule/group 为匹配规则及 named/wildcard/none。
- llms_status/bytes/content_type/has_llms_txt：根路径 llms 的启发式检出（200、长度大于 20、开头不像 HTML）；没有保留 llms 正文/最终 URL，不能验证格式，也未覆盖子路径文件。

## 统计口径

metrics.json 为各比例提供分子、分母和一位小数，采用十进制四舍五入。主指标使用 12 个 AI 相关标识，legacy_all14_* 保留旧 14 项口径。排名区间覆盖原解析器子样本。同厂商矩阵只解释该对 token。llms 对比是“检出/未检出条件下的根路径限制比例”，没有因果结论。

## 尚未解决的方法问题

HTML/5xx 分类、补抓混合元数据、错误文本归入 parsed、文件截断和 llms 疑似误报仍需复核；空文件或只有注释可以合法地没有限制，不能把所有零规则文件都判错。参见 review-decisions.csv、snapshot.json。新采集必须另存版本并保留每次请求，不能用新 llms 与旧 robots 拼成同时点研究。本版没有静默更改域名或判定。

## 离线复算

解压 dataset.zip，在其目录执行：

```bash
python3 build_ai_crawler_benchmark.py --input . --output ../benchmark-rebuilt-v1.1
```

只需要 Python 3 标准库。输出须在输入目录之外；程序验证 CSV 哈希，统计并绘图，不联网、不需要 API key、不重新抓取或独立验证旧分类器。原 robots 归档哈希已记录，公开包不包含第三方原始文件。英文 method-en.md 提供完整字段说明与来源链接。

## 引用与许可

引用建议：SearchVitals（2026），《AI 爬虫 robots.txt 政策：2026 年 11 月》，v1.1 勘误版，https://searchvitals.com/zh/research/ai-crawler-access-benchmark-2026 。引用时注明版本和分母。数据及派生指标采用 CC BY 4.0，复算代码采用 MIT。勘误联系：service@searchvitals.com。
