本文要点
- 用 腾讯云 EdgeOne 访问日志 + UA 识别 + IP 归属(whois/PTR)三重交叉验证,确认 AI 爬虫是真实抓取而非伪造 UA
- 14 天数据:GPTBot(OpenAI)6054 次请求、ClaudeBot(Anthropic)3435 次,且 14 天全勤
- 关键证据:GPTBot 峰值日请求几乎 100% 来自微软 Azure IP 段,ClaudeBot 峰值日请求集中在亚马逊 AWS IP 段,与两家官方架构完全吻合
- 另用 PTR 反向解析实锤:Googlebot / msnbot / YandexBot 的 IP 反向解析结果直接落在各自域名下(如
crawl-*.googlebot.com),域名级绑定无法伪造 - 模拟 GPTBot 抓取页面验证 TeoSeo 输出结构:「本文要点」折叠块、Article + BreadcrumbList 双 JSON-LD、meta 描述清理均达标,AI 可读无 markdown 污染
- 结论:GEO(生成式引擎优化)配置真实生效,AI 引擎正在深度抓取并收录本站内容,抓取行为与内容结构两端均已验证
- 方法论可复用:
UA 声明 + IP 归属(whois)+ PTR 反查 + 时间吻合度是识别"真·AI 爬虫"的可靠组合
为什么要验证"爬虫是不是真的"
做 GEO(面向 AI 搜索引擎的优化,如让 GPTBot、ClaudeBot 抓取你的内容并在 AI 回答中被引用)的前提是:AI 引擎确实来了、真的在抓你的站。但 Web 日志里看到的"GPTBot"只是一个 User-Agent 字符串——它完全可能被伪造。
一个常见的质疑是:"你怎么知道那些自称 GPTBot 的请求不是别人伪装的?" 本文就用真实数据回答这个问题。
验证方法:三重交叉验证
单看 UA 不可靠,所以我把三个独立证据叠在一起:
| 维度 | 数据来源 | 能证明什么 |
|---|---|---|
| ① UA 声明 | EdgeOne 访问日志 | "它自称是谁" |
| ② IP 归属 | whois / PTR 反向解析 | "它实际从哪里来" |
| ③ 时间与请求吻合度 | 按天聚合对比 | "声明与来源是否同频出现" |
如果某个 UA 的请求数量,和某个特定云厂商 IP 段的请求数量在同一天高度吻合,且该云厂商正是这家 AI 公司公开声明的算力来源(OpenAI 用微软 Azure、Anthropic 用亚马逊 AWS),那么"真爬虫"的结论就站得住——因为攻击者没有必要为了伪装爬虫,去专门租用对应云厂商的专属 IP 段并保持长期高频访问。
PTR 反向解析:域名级实锤
除了 IP 归属(whois),还有一个更硬的验证:PTR 反向解析(dig -x IP)。主流的搜索引擎爬虫会主动把自己的 IP 反向解析成带自家域名的地址,这是它们"自证身份"的标准做法:
| 引擎 | 实测 IP | PTR 反向解析结果 |
|---|---|---|
| Googlebot | 66.249.77.65 | crawl-66-249-77-65.googlebot.com |
| Googlebot | 66.249.71.8 | crawl-66-249-71-8.googlebot.com |
| msnbot(必应) | 40.77.167.121 | msnbot-40-77-167-121.search.msn.com |
| msnbot(必应) | 40.77.167.28 | msnbot-40-77-167-28.search.msn.com |
| YandexBot | 87.250.224.217 | 87-250-224-217.spider.yandex.com |
| YandexBot | 5.255.231.114 | 5-255-231-114.spider.yandex.com |
这些 IP 的 PTR 记录直接落在搜索引擎自家的域名下(googlebot.com、search.msn.com、spider.yandex.com),这种域名级绑定是伪造不出来的——只有 Google/微软/Yandex 自己控制这些 IP 段并配置反向解析才能做到。这为"真爬虫"提供了最硬的证据。
注意:AI 训练爬虫(GPTBot/ClaudeBot)没有这种 PTR 自证——OpenAI 和 Anthropic 不对外公布稳定的反向域名。所以对它们只能靠"UA + IP 归属(Azure/AWS)+ 时间吻合度"来验证,这正是本文下一节做的核心分析。
14 天爬虫访问全景
我统计了 blog.astarry.cn 近 14 天(2026-08-02 ~ 08-15)的访问日志,按 UA 识别出各引擎爬虫的请求量:
| 排名 | 引擎 | 14 天总请求 | 活跃天数 | 峰值日 |
|---|---|---|---|---|
| 1 | GPTBot(OpenAI) | 6054 | 14/14 | 08-09(4926 次) |
| 2 | ClaudeBot(Anthropic) | 3435 | 14/14 | 08-05(2275 次) |
| 3 | 2747 | 14/14 | 08-10(1006 次) | |
| 4 | 百度 Baiduspider | 1360 | 12/14 | 08-06(1257 次) |
| 5 | 必应 msnbot | 1253 | 14/14 | 08-07(756 次) |
| 6 | CCBot(Common Crawl) | 904 | 4/14 | 08-07(519 次) |
| 7 | Bytespider(字节) | 746 | 14/14 | 08-07(170 次) |
| 8 | PetalBot(华为) | 738 | 14/14 | 08-08(121 次) |
| 9 | AhrefsBot | 422 | 12/14 | 08-10(119 次) |
| 10 | Amazonbot | 209 | 3/14 | 08-05(104 次) |
| 11 | Yandex | 134 | 11/14 | 08-15(58 次) |
| 12 | YisouSpider(360) | 124 | 14/14 | 08-03(51 次) |
AI 训练爬虫(GPTBot + ClaudeBot)合计约 9500 次,占搜索引擎爬虫流量的绝对大头,且两家都是 14 天全勤。这正是 GEO 想要的信号。
关键证据:峰值日的 IP 归属
GPTBot 峰值日(08-09,4926 次)
当天请求量最高的 IP:
| IP | 请求数 | 归属 |
|---|---|---|
| 74.7.227.50 | 3160 | 微软 Azure |
| 74.7.243.201 | 1763 | 微软 Azure |
| 20.251.48.84 | 298 | Microsoft Corporation |
| 20.203.208.191 | 98 | Microsoft Corporation |
74.7.x 段的两个 IP 合计 4923 次,与 GPTBot 当天声明 UA 的 4926 次请求几乎一一对应(99.9% 吻合),且全部落在微软 Azure——这正是 OpenAI 训练 GPTBot 所使用的算力来源。
ClaudeBot 峰值日(08-05,2275 次)
| IP | 请求数 | 归属 |
|---|---|---|
| 216.73.216.205 | 2243 | 亚马逊 AWS |
| 74.7.243.246 | 716 | 微软 Azure |
| 47.238.230.124 | 515 | 阿里云 |
216.73.216.205(AWS)一个 IP 就贡献 2243 次,占 ClaudeBot 当天请求的 98%。Anthropic 的 ClaudeBot 正是部署在 AWS 上。
whois 反查确认:20.x.x.x 归属 Microsoft Corporation,216.73.x.x 归属 Amazon.com, Inc.。
模拟 GPTBot 抓取:验证 TeoSeo 输出的 GEO 结构
爬虫"来了"是一回事,"抓到的是不是我们想让 AI 看到的干净结构"是另一回事。为此我模拟 GPTBot 的 User-Agent 实际抓取本文页面,检查 TeoSeo 插件输出的 GEO 结构:
curl -A "Mozilla/5.0 ... compatible; GPTBot/1.4; +https://openai.com/gptbot" \
https://blog.astarry.cn/geo-crawler-verification-guide/
抓取结果逐项核对:
| 检查项 | 结果 | 说明 |
|---|---|---|
<details> 本文要点折叠块 |
✅ | 完整渲染,6 条要点 <li>,无 markdown 符号残留 |
JSON-LD Article |
✅ | headline / datePublished / author / publisher / description 齐全 |
JSON-LD BreadcrumbList |
✅ | 首页 > 技术教程 > 文章 三层,position 正确 |
meta name="description" |
✅ | 已清理,内容取自本文要点,无 ##/** 污染 |
og:type / og:url / og:site_name |
✅ | 正常输出 |
og:description |
⚠️ | 未单独输出(仅有 og:type/url/site_name) |
这说明什么:TeoSeo 的核心 GEO 能力——「本文要点」折叠块、双 JSON-LD 结构化数据、meta 描述清理——都真实渲染且 AI 可抓取。这就是 GEO 优化的实际效果:不仅爬虫来,而且喂给 AI 的是"结论先行、结构清晰、无污染"的内容,正是生成式引擎在回答时最容易引用和引用的形态。
唯一的小瑕疵是 og:description 未单独输出,属于可优化的细节(社交分享和部分 AI 引擎会读取该标签),不影响正文抓取。
结论
- UA 是可信的:GPTBot 请求与微软 Azure IP 段、ClaudeBot 请求与亚马逊 AWS IP 段,在峰值日高度同频且数量几乎完全吻合。伪造 UA 简单,但伪造"长期稳定来自对应云厂商专属段的高频请求"成本极高,几乎不可能。
- GEO 配置真实生效,且输出结构达标:本站
robots.txt对 13 个 AI 引擎显式放行,实测它们持续、深度抓取;模拟 GPTBot 抓取确认 TeoSeo 输出的「本文要点」折叠块、双 JSON-LD、meta 描述均按预期渲染、AI 可读。抓取行为与内容结构两端都验证通过。 - 方法论可复用:判断"AI 爬虫"是否真实,用
UA 声明 + IP 归属(whois/PTR)+ 时间吻合度交叉验证;判断"GEO 是否生效",再补一层模拟爬虫抓取检查输出结构。这套组合不依赖无法公开核验的官方 IP 白名单。
附:本次验证用到的工具
- 腾讯云 EdgeOne 访问日志 API(
DescribeTopL7AnalysisData/DescribeTimingL7AnalysisData) whois查询 IP 归属(确认 20.x=Microsoft、216.73.x=Amazon)dig -x IPPTR 反向解析(Googlebot / msnbot / YandexBot 的域名级验证)
评论 (0)
暂无评论,快来抢沙发吧!