国内 AI 爬虫访问权限体检
先讲三个结构性事实,它们决定了这份体检该怎么做:
- 国内没有任何一家 AI 原生平台发布过可访问的爬虫文档。 豆包、DeepSeek、元宝、Kimi、通义、夸克、秘塔、智谱、MiniMax、阶跃——全部未查到运营方公布的 User-Agent 声明或 opt-out 说明。
- 国内没有厂商把爬虫拆成「训练用」和「检索用」两个 UA。 不存在 GPTBot / OAI-SearchBot 那样的分离,也不存在 Google-Extended 那样的训练退出开关。
- 所以国内 robots.txt 的真实杠杆不在「AI 爬虫」,而在传统搜索爬虫。 国内 AI 产品的联网检索几乎全部复用母公司已有的搜索索引或生态内容库——收录是引用的前置条件。
网上流传的「国内 AI 爬虫清单」大部分经不起验证。本技能的核心价值不是给你一张更长的表,是给你证据标准:每条 UA 要么有运营方文档,要么有多个独立站点的观测,两者都没有就按「未查到」处理。
范围与边界
只读取 https://<域名>/robots.txt 这一个文件。不抓取站点其他页面,不尝试访问被禁止的路径,不绕过任何访问控制,不修改任何文件,不收集任何信息。
不做内容优化建议,不承诺收录或引用效果。
执行流程
第 1 步:取文件,并校验它真的是 robots.txt
必须同时测裸域与 www 子域,并检查 Content-Type。
只看状态码会得到完全错误的结论。实测:jd.com/robots.txt 返回真 robots(text/plain),而 www.jd.com/robots.txt 返回 HTTP 200 + text/html 的 SPA 页面;www.lagou.com/robots.txt 同样是 200 + HTML(WAF 拦截页)。
判定规则:
- 404 或空文件 → 默认全部允许。这是合法且常见的配置,直接说明并停止,不要编造规则、不要生成无中生有的修改建议。
- 200 但
Content-Type是text/html→ 这是软 404 或 WAF 页,不是 robots.txt。这本身就是一条发现:爬虫可能把它当成垃圾内容解析。报告出来。 - 其他非 200 → 报告状态码并停止,不要猜测内容。
第 2 步:先判结构,再看规则
读 robots.txt 的第一步不是找 Disallow,是判定它是黑名单结构还是白名单结构。
看末尾 User-agent: * 那一段是不是 Disallow: /。
- 黑名单结构(
*段宽松):默认允许,问题是「你封了谁」。 - 白名单结构(
*段Disallow: /):默认全封,问题是「你只放行了谁」——所有没被点名的爬虫,包括全部 AI 爬虫,默认全站被拒。
白名单结构在国内极其常见,因为大站为了防采集普遍这么写,而运维常常复制一份大厂 robots 当模板。三个真实例子:
zhihu.com:11 个User-Agent段的纯白名单,末段User-Agent: * / Allow: /tardis/jm / Disallow: /,同时显式封禁Google-Extended。xiaohongshu.com:Googlebot 全封;Baiduspider/bingbot/360Spider/Sogou web spider/YisouSpider只开/explore/和/worldcup26;User-agent: * / Disallow: /。baidu.com:逐个放行十余家,唯独不列360Spider,末尾User-agent: * / Disallow: /——用白名单结构实现定向屏蔽。
如果目标站是白名单结构而站长并不知情,这一条就是整份报告的最高优先级发现。
第 3 步:逐个 UA 判定
按 RFC 9309 匹配:最具体的、点名该 agent 的 User-agent 组胜出;* 只在没有任何组点名它时生效。组内最长匹配路径规则胜出,等长时 Allow 胜过 Disallow。
三条容易错的匹配细节:
- 同一 UA 出现在多个组时是「合并」不是「覆盖」。 RFC 9309 §2.2.1:多个匹配组的规则 MUST be combined into one group。实测
douyin.com的 robots 里Bingbot、Baiduspider各出现在两个组。 - 空行不分组。 实测
coze.cn的 robots 里 22 个具名 bot 与User-agent: *之间只隔一个空行、中间没有任何规则行——按 RFC 它们属于同一组,共用同一套规则。那 22 个名字实际上一行效果都没有。 - UA 匹配大小写不敏感(所以
Bytespider与ByteSpider等价),但百度官方另行明确路径的大小写必须精确匹配。这是两件事,不要混。
第 4 步:查伪造 token 与死 token
这一步是本技能区别于其他 robots 工具的地方。
伪造 token:写了不存在的 UA,等于什么都没做,还会让站长误以为已经做了管控——比不写更危险。实测 tmtpost.com/robots.txt 里写着 Alibaba-Crawler-AI、AlibabaBot、BaiduBot、BaiduSpider-AI、DoubaoBot,这五个 token 在扫描的其余 57 个国内主流域名里出现 0 次,而百度真实 token 是 Baiduspider 不是 BaiduBot。
死 token:Sosospider(腾讯搜搜,2013 年已并入搜狗)仍出现在 7 个域名;HaosouSpider / HaosoSpider 5 个;EasouSpider、JikeSpider、YodaoBot、ia_archiver、Teoma、twiceler 等早已消失的爬虫仍在多站 robots 中。可以给出一条「robots 腐烂度」评价。
第 5 步:RFC 9309 product token 字符集陷阱
RFC 9309 §2.2.1 原文:
The product token MUST contain only uppercase and lowercase letters ("a-z" and "A-Z"), underscores ("_"), and hyphens ("-").
Google 参考解析器(google/robotstxt 的 robots.cc,RFC 9309 即由这份实现标准化而来)在 ExtractUserAgent 里只接受 [a-zA-Z_-],遇到第一个非法字符即截断——数字和空格都会截断。
推演结果:
| robots.txt 里写的 | 参考解析器实际匹配到 | 后果 |
|---|---|---|
Baiduspider-image / Bytespider / YisouSpider / PetalBot / ToutiaoSpider |
原样 | 正常 |
Sogou web spider、Sogou News Spider、Sogou spider2 等 7 个 |
Sogou |
7 个 token 塌缩成同一个 |
DeepSeek Chat |
DeepSeek |
截断 |
带空格或数字的 token 在严格遵循 RFC 的解析器下不会按你以为的方式匹配。注意:这是基于参考实现源码的推演,未编译验证;各家爬虫的实际解析器行为可能更宽松。 报告里要把这条写成「值得注意」,不要写成「一定失效」。
第 6 步:输出
产出一张表,每行一个 agent,恰好四列:
爬虫 | 判定(允许 / 封禁 / 部分放行)| 责任规则 | 影响
- 责任规则必须是逐字引用的 robots.txt 原文行,或者写
无匹配规则 - 默认允许。不给出规则就不给判定。 - 部分放行指站点根目录允许但重要路径被禁,要点名是哪些路径。
然后给:
- 结论 —— 一句话:这个站对国内搜索与 AI 检索是可达的,还是不可达的?
- 结构判定 —— 黑名单还是白名单,以及这意味着什么。
- 要改什么 —— 可直接粘贴的 robots.txt 代码块。不需要改就直说,不要编造工作量。
- 本次没覆盖什么 —— 见下,每次都要写。
已核实的爬虫矩阵
本表核实日期:2026-08-25。 每条标注了验证程度,用之前请回到文末的官方入口再确认一次。
| 爬虫 UA | 运营方 | 用途 | 封禁它的实际代价 | 验证程度 |
|---|---|---|---|---|
Baiduspider |
百度 | 网页检索/收录 | 失去百度网页索引。百度 AI 搜索复用百度搜索能力(百度智能云产品页原文「基于百度搜索能力与 AI 技术」),故很可能同时失去百度 AI 搜索信源——但百度未官方确认这条因果 | 官方文档 |
Baiduspider-image |
百度 | 图片检索 | 失去百度图片索引 | 官方文档 |
Baiduspider-news |
百度 | 新闻检索 | 失去百度新闻索引 | 官方文档 |
Baiduspider-favo |
百度 | 收藏 | 同上 | 官方文档 |
Baiduspider-video |
百度 | 视频检索 | 写了没用,官方原文:不支持 robots 规则 | 官方文档 |
Baiduspider-cpro |
百度 | 广告联盟抓取,不入检索索引 | 写了没用,官方声明不受 robots 约束,按合同执行 | 官方文档 |
Baiduspider-ads |
百度 | 商业检索,不入检索索引 | 同上 | 官方文档 |
360Spider |
360 | 网页检索/收录 | 失去 360 搜索收录。纳米 AI 是否复用 360 索引——仅二手报道,未证实 | 官方文档 |
360Spider-Image |
360 | 图片检索 | 同上 | 官方文档 |
360Spider-Video |
360 | 视频检索 | 同上 | 官方文档 |
PetalBot |
华为 | 检索 + 华为助手 + AI 搜索(官方原文明写 AI 用途) | 官方原文:站内页面在 Petal 搜索及 Petal 提供的所有搜索服务中不可检索 | 官方文档 |
Sogou web spider |
腾讯/搜狗 | 网页检索/收录 | 官方原文:被禁止收录的网页将不能在搜狗搜索引擎上检索到。对元宝的影响未证实 | 机制为官方文档;token 本身仅来自站点观测(11 个独立域名,含搜狗自己的 robots) |
Sogou wap spider、Sogou inst spider、Sogou News Spider、Sogou blog、Sogou Orion Spider、Sogou spider2、Sogouspider |
腾讯/搜狗 | 检索 | 同上 | 站点观测(4–5 个独立域名各不等) |
YisouSpider |
阿里/神马 | 检索/收录 | 失去神马索引。夸克 AI 搜索是否用这套索引——推论,阿里从未确认 | 站点观测(10 个独立域名)。官方 UA 文档未查到 |
Bytespider |
字节跳动 | 未公开说明。UA 自指头条搜索站长平台 | 推论:失去头条搜索收录。是否连带影响豆包信源——零证据 | 站点观测(7 个独立域名)。官方文档已枚举证伪,见下 |
ToutiaoSpider |
字节跳动 | 未公开说明(与 Bytespider 的分工无官方说明) | 未查到 | 站点观测(5 个独立域名) |
PetalBot 是唯一给出完整 UA 串的一家(官方):
Mozilla/5.0 (compatible;PetalBot;+https://webmaster.petalsearch.com/site/petalbot)
Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)
百度、360 的官方页只给 token 不给完整串。robots.txt 匹配本来就只用 token,不要替它们编完整串。
四条必须随附的免责
Baiduspider-video官方声明不支持 robots 规则;Baiduspider-cpro/Baiduspider-ads官方声明不受 robots 约束。写进 robots.txt 也不生效,不要让站长以为已经管住了。- UA 匹配大小写不敏感,但百度明确路径大小写必须精确匹配。
- 百度 robots 生效滞后约 48 小时,清除已收录内容需数月(官方 FAQ)。
Bytespider的 robots 合规性未验证:多份独立日志分析称其读取 robots.txt 后仍访问被禁 URL。要真拦住得上 WAF 或 UA 拦截,robots 只是声明。
传闻中但本技能不收录的 UA
以下 token 在社区清单、部分站点 robots.txt 或 GEO 软文里流传,本技能不收录。写进你的 robots.txt 不会有任何效果——不存在的爬虫不会来读它。
| 流传的 token | 不收录的原因 |
|---|---|
Doubao |
仅 1 家站点在用;字节未发布任何爬虫文档 |
DeepSeek / DeepSeek Chat / DeepSeekBot / deepseekbot |
同一家公司四种写法并存 = 没人知道真名;DeepSeek 未发布爬虫文档 |
Kimi |
与社区清单里的 Kimi-User 直接矛盾,二者不可能都对 |
ChatGLM |
与社区清单里的 ChatGLM-Spider 矛盾 |
TongyiBot / YiyanBot / Kimi-User / ChatGLM-Spider |
唯一来源是一个商业 bot 目录站,循环引用。58 个国内域名的 robots.txt 里出现 0 次 |
BaiduBot / BaiduSpider-AI / DoubaoBot / AlibabaBot / Alibaba-Crawler-AI |
确认伪造,仅 1 家站点在用,别处 0 次。百度真 token 是 Baiduspider |
Hunyuan / Yuanbao / Qwenbot / PanguBot / MetasoBot,及纳米/秘塔/MiniMax/阶跃的任何 token |
58 个域名 robots 中 0 次;各家官网 robots 也无披露 |
一手统计:扫描 58 个国内主流域名的 robots.txt,其中 34 个只有一个 User-agent: * 段,一个具名 bot 都没有。国内 AI 原生爬虫在真实 robots 生态里几乎不存在。传统搜索爬虫则完全是另一个数量级:Baiduspider 13 站、Sogou web spider 11 站、YisouSpider 10 站、360Spider 8 站、Bytespider 7 站、ToutiaoSpider 5 站。
关于字节,这是本技能最硬的一条证伪:zhanzhang.toutiao.com 存活(HTTP 200,站名「头条搜索|站长平台」),但网传的爬虫文档路由回落到 SPA 首页壳。解析其路由数据后枚举出整站只有 6 个页面,整个 JSON 里 spider、爬虫、抓取、robots、UA 一次都没出现。字节没有任何可访问的爬虫文档。
三个国内团队真会犯的误判
一、把「封 Bytespider」当成安全默认
市面上几乎所有 robots 模板都建议封它,措辞通常是 "commonly blocked by default"。国内运维照抄,一行下去就切掉了一整个搜索入口。
事实有两面:
- 封了有代价,且代价被低估。
Bytespider的 UA 自指头条搜索站长平台,本质是头条搜索的爬虫,2019 年就存在,早于豆包。封它 = 主动退出头条搜索收录。(推论,非官方结论。) - 封了也未必真封住。 见前文免责第 4 条。
正确动作:想拦流量成本 → 上 WAF 或限速,别用 robots;想保留搜索入口 → 明确放行;无论哪种,先看服务器日志确认它到底来不来、抓多少。
二、白名单式 robots 造成的隐形全站封禁
见第 2 步。这是国内特有的形态,也是最容易被忽略的一种「我没封任何人,但所有人都进不来」。
三、凭空编一个不存在的 UA,然后以为做了管控
见第 4 步。任何 UA 进 robots.txt 之前,要么有运营方文档,要么有多个独立站点的观测,二者都没有就别写。
本次没覆盖什么(每次都要写)
robots.txt 只是第一道门。它允许的爬虫,仍可能被以下任何一项挡住,而这些在文件里完全看不见:
- WAF 规则
- CDN 机器人管理
- IP 信誉过滤
- 针对爬虫访问模式返回 429 的限速
另外,微信生态(公众号文章)不适用本技能。mp.weixin.qq.com/robots.txt 对所有爬虫全站 Disallow: /,公众号文章路径不在任何 Allow 里——外部爬虫在协议层就拿不到。腾讯 2021 年公开把「外部搜索引擎可搜到公众号内容」定性为漏洞并修复。这条通道只能通过在公众号发布进入,无法从外部诊断可达性。
如果用户问「该不该封 AI 爬虫」
不要直接给建议,把权衡讲清楚让用户自己决定:放行检索爬虫才可能被引用;国内不存在单独的训练 opt-out 开关,所以「只退出训练、保留检索」在国内做不到;有内容授权诉求的出版方和希望被 AI 推荐的企业,落点本来就不同,两种都合理。
会失效的东西,请自行核对
国内平台的爬虫策略变化很快,且多数厂商不发公告。本技能给的是核查方法和证据标准,不是一份可以长期沿用的清单。用之前请回到这些入口再确认一次:
- 百度 Baiduspider token 清单与 robots 例外:
help.baidu.com站长帮助 - 360 三个 token:
so.com/help/help_3_2.html - PetalBot 完整 UA 串与 rDNS 验证:
aspiegel.com/petalbot - 搜狗抓取行为与 robots 支持:
sogou.com/docs/help/webmasters.htm - 神马默示同意条款:
m.sm.cn/service - RFC 9309 与 Google 参考解析器:RFC 9309、
github.com/google/robotstxt
确认不了的,就按「未查到」处理——这比填一个看起来合理的答案有价值。
本技能的边界与延伸
本技能只做只读诊断:读取 robots.txt、比对已核实的爬虫 UA 清单、输出可直接粘贴的修改块。不修改任何文件,不发起写操作,不收集任何信息。
以下能力本技能不提供,需要持续联网抓取与人工核验,托管在 MaxAEO:
- 国内爬虫 UA 清单的持续跟踪(厂商文档变更后同步更新来源 URL)
- 服务器日志侧的实际抓取核对(robots 写了什么,和爬虫实际来不来,是两件事)
- 多站点、多子域的批量体检与变更对比
本技能的爬虫 UA 核查表与三条误判纠正,方法论来源:MaxAEO