Google 抓取工具和抓取器(用户代理)概览

Google 使用抓取工具和抓取器针对其产品执行自动或用户请求的操作。

“抓取工具”(有时也称为“漫游器”或“蜘蛛”程序)是一个通用术语,泛指通过跟踪从一个网页指向另一个网页的链接自动发现并扫描网站的任何程序。Google 用于 Google 搜索的主要抓取工具称为 Googlebot

与浏览器一样,抓取器是在用户提示时请求单个网址的工具。

下表显示了各种产品和服务使用的 Google 抓取工具和抓取器、在引荐来源网址日志中看到的信息以及如何在 robots.txt 中指定抓取器。这些列表并非详尽无遗,它们仅涵盖日志文件中可能会出现的最常见请求方。

  • 当您为网站编写抓取规则时,应在 robots.txt 文件中的 User-agent: 行内使用用户代理令牌,以便与相应类型的抓取工具匹配。如表中所示,某些抓取工具有多个令牌;但您只需使用与相应抓取工具匹配的 1 个令牌,即可应用规则。此列表并不完整,但涵盖了您在网站上可能会看到的大多数抓取工具。
  • 完整的用户代理字符串是对抓取工具的完整描述,会出现在 HTTP 请求和网站日志中。

常见抓取工具

Google 的常见抓取工具用于构建 Google 的搜索索引、执行其他产品特定的抓取以及分析。它们始终遵循 robots.txt 规则,并且通常会从 googlebot.json 对象中发布的 IP 范围进行抓取。

常见抓取工具

Googlebot(智能手机版)

用户代理令牌 Googlebot
完整的用户代理字符串 Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Googlebot(桌面版)

用户代理令牌 Googlebot
完整的用户代理字符串
  • Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36
  • 很少:
    • Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
    • Googlebot/2.1 (+http://www.google.com/bot.html)

Googlebot Image

用于抓取图片(适用于 Google 图片和依赖于图片的产品)。

用户代理令牌
  • Googlebot-Image
  • Googlebot
完整的用户代理字符串 Googlebot-Image/1.0

Googlebot News

Googlebot News 使用 Googlebot 抓取新闻报道,但会遵循其历史用户代理令牌 Googlebot-News

用户代理令牌
  • Googlebot-News
  • Googlebot
完整的用户代理字符串 Googlebot-News 用户代理使用各种 Googlebot 用户代理字符串

Googlebot Video

用于抓取视频,适用于 Google 视频和依赖于视频的产品。

用户代理令牌
  • Googlebot-Video
  • Googlebot
完整的用户代理字符串 Googlebot-Video/1.0

Google StoreBot

Google StoreBot 会抓取某些类型的网页,包括但不限于商品详情页、购物车页和结账页。

用户代理令牌 Storebot-Google
完整的用户代理字符串
  • 桌面版代理:
    Mozilla/5.0 (X11; Linux x86_64; Storebot-Google/1.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
  • 移动版代理:
    Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012; Storebot-Google/1.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36

Google-InspectionTool

Google-InspectionTool 是 Search Console 中的搜索测试工具(如富媒体搜索结果测试网址检查)所使用的抓取工具。除了用户代理和用户代理令牌之外,它还模仿 Googlebot。

用户代理令牌
  • Google-InspectionTool
  • Googlebot
完整的用户代理字符串
  • 移动设备
    Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Google-InspectionTool/1.0;)
  • 桌面设备
    Mozilla/5.0 (compatible; Google-InspectionTool/1.0;)

GoogleOther

GoogleOther 是可供各种产品团队用于从网站中抓取可公开访问的内容的通用抓取工具。例如,它可能会用于一次性抓取,供内部研究和开发。

用户代理令牌 GoogleOther
完整的用户代理字符串 GoogleOther

Google-Extended

Google-Extended 是一个独立的产品令牌,供网站发布商用于管理其网站是否帮助改进 Gemini 应用和 Vertex AI 生成式 API,包括为这些产品提供支持的模型的未来版本。 Google-Extended 不会对网站列入 Google 搜索结果及其在搜索结果中的排名产生影响。

用户代理令牌 Google-Extended
完整的用户代理字符串 Google-Extended 没有单独的 HTTP 请求用户代理字符串。抓取操作是使用现有的 Google 用户代理字符串进行的;robots.txt 用户代理令牌用于控制权限。

特殊情况下的抓取工具

如果在被抓取的网站与产品之间就抓取过程达成协议,特定产品就会使用特殊情况下的抓取工具。例如,AdsBot 会在广告发布商许可的情况下忽略全局 robots.txt 用户代理 (*)。特殊情况下的抓取工具可能会忽略 robots.txt 规则,因此使用的 IP 范围不同于常见抓取工具。这些 IP 范围发布在 special-crawlers.json 对象中。

特殊情况下的抓取工具

APIs-Google

供 Google API 传递推送通知消息。忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 APIs-Google
完整的用户代理字符串 APIs-Google (+https://developers.google.com/webmasters/APIs-Google.html)

AdsBot Mobile Web Android

检查 Android 网页广告质量。忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 AdsBot-Google-Mobile
完整的用户代理字符串 Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)

AdsBot Mobile Web

检查 iPhone 网页广告质量。忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 AdsBot-Google-Mobile
完整的用户代理字符串 Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1 (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)

AdsBot

检查桌面版网页广告质量。忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 AdsBot-Google
完整的用户代理字符串 AdsBot-Google (+http://www.google.com/adsbot.html)

AdSense

AdSense 抓取工具通过访问您的网站确定网站内容,以便提供相关的广告。忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 Mediapartners-Google
完整的用户代理字符串 Mediapartners-Google

Mobile AdSense

Mobile AdSense 抓取工具通过访问您的网站确定网站内容,以便提供相关的广告。忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 Mediapartners-Google
完整的用户代理字符串 (Various mobile device types) (compatible; Mediapartners-Google/2.1; +http://www.google.com/bot.html)

Google-Safety

Google-Safety 用户代理负责处理针对滥用行为的抓取,例如对 Google 产品和服务上公开发布的链接进行恶意软件发现。此用户代理会忽略 robots.txt 规则。

完整的用户代理字符串 Google-Safety

用户触发的抓取器

用户触发的抓取器由用户触发,以执行特定于产品的功能。例如,Google 网站验证工具会响应用户请求。由于是用户请求的抓取,因此这些抓取器通常会忽略 robots.txt 规则。用户触发的抓取器使用的 IP 范围发布在 user-triggered-fetchers.json 对象中。

用户触发的抓取器

Feedfetcher

Feedfetcher 用于为 Google 播客、Google 新闻和 PubSubHubbub 抓取 RSS 或 Atom Feed。

用户代理令牌 FeedFetcher-Google
完整的用户代理字符串 FeedFetcher-Google; (+http://www.google.com/feedfetcher.html)

Google 发布商中心

抓取并处理发布商通过 Google 发布商中心明确提供的 Feed,以便在 Google 新闻着陆页中使用。

完整的用户代理字符串 GoogleProducer; (+http://goo.gl/7y4SX)

Google Read Aloud

根据用户请求,Google Read Aloud 会使用文字转语音 (TTS) 技术来抓取并朗读网页内容。

完整的用户代理字符串

现用代理

  • 桌面版代理:
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 (compatible; Google-Read-Aloud; +https://support.google.com/webmasters/answer/1061943)
  • 移动版代理:
    Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36 (compatible; Google-Read-Aloud; +https://support.google.com/webmasters/answer/1061943)

曾用代理(已弃用)

google-speakr

Google 网站验证工具

Google 网站验证工具会在用户请求 Search Console 验证令牌时进行抓取。

完整的用户代理字符串 Mozilla/5.0 (compatible; Google-Site-Verification/1.0)

关于用户代理中的 Chrome/W.X.Y.Z 的说明

表中的用户代理字符串中有时候会出现 Chrome/W.X.Y.Z 字符串,W.X.Y.Z 实际上是代表该用户代理使用的 Chrome 浏览器版本的占位符:例如,41.0.2272.96。随着时间的推移,此版本号会增大,以便与 Googlebot 使用的最新 Chromium 发布版本相匹配

如果您要搜索日志或过滤服务器以查找使用此格式的用户代理,请用通配符表示版本号,而不是指定确切的版本号。

robots.txt 中的用户代理

如果 Google 在 robots.txt 文件中识别出多个用户代理,将会跟踪最具体的用户代理。如果您希望 Google 的所有抓取工具都能够抓取您的网页,根本不需要使用 robots.txt 文件。如果您希望禁止或允许 Google 的所有抓取工具访问您的某些内容,只需将 Googlebot 指定为用户代理即可。例如,如果您希望您的所有网页都出现在 Google 搜索中,并且您的网页能够显示 AdSense 广告,便无需使用 robots.txt 文件。同理,如果您希望 Google 的所有抓取工具都不能访问您的某些网页,可以禁止用户代理 Googlebot,这样会一并禁止 Google 的所有其他用户代理。

不过,如果您希望更加精确地控制抓取范围,可以采取更具体的设置。例如,您可能希望您的所有网页都出现在 Google 搜索中,但不希望 Google 抓取您个人目录中的图片。在这种情况下,您可以使用 robots.txt 禁止用户代理 Googlebot-Image 抓取您个人目录中的文件(同时允许 Googlebot 抓取所有文件),具体如下:

User-agent: Googlebot
Disallow:

User-agent: Googlebot-Image
Disallow: /personal

再举个例子,假设您希望自己的所有网页上都显示广告,但不希望这些网页出现在 Google 搜索中。这时,您可以禁止 Googlebot,但允许 Mediapartners-Google 用户代理,具体如下:

User-agent: Googlebot
Disallow: /

User-agent: Mediapartners-Google
Disallow:

控制抓取速度

每个 Google 抓取工具都会出于特定目的以不同的速度访问网站。Google 使用算法确定每个网站的最佳抓取速度。如果 Google 抓取工具过于频繁地抓取您的网站,您可以降低抓取速度

弃用的 Google 抓取工具

以下 Google 抓取工具已不再使用,此处仅作历史参考。

弃用的 Google 抓取工具

网页上的 Duplex

支持“网页上的 Duplex”服务。

用户代理令牌 DuplexWeb-Google
完整的用户代理字符串 Mozilla/5.0 (Linux; Android 11; Pixel 2; DuplexWeb-Google/1.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Mobile Safari/537.36

Web Light

每当用户在相应条件下在搜索结果中点击您的网页时,系统就会检查是否存在 no-transform 标头。Web Light 用户代理仅用于人类访问者的明确浏览请求,因此会忽略用于屏蔽自动抓取请求的 robots.txt 规则。

用户代理令牌 googleweblight
完整的用户代理字符串 Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko; googleweblight) Chrome/38.0.1025.166 Mobile Safari/535.19

Mobile Apps Android

检查 Android 应用页面广告质量。遵守 AdsBot-Google 漫游器规则,但忽略 robots.txt 中的全局用户代理 (*)。

用户代理令牌 AdsBot-Google-Mobile-Apps
完整的用户代理字符串 AdsBot-Google-Mobile-Apps

Google Favicon

用户代理令牌
  • Googlebot-Image
  • Googlebot
完整的用户代理字符串 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 Google Favicon