Google 经历了爬取、获取和处理字节的过程。
来自谷歌的 Gary Illyes 分享了更多关于 Googlebot、谷歌爬虫生态系统、数据抓取以及数据处理方式的细节。
这篇文章的标题是《走进 Googlebot:揭秘抓取、获取和我们处理的字节》。
Googlebot。谷歌拥有不止一个爬虫程序,它有多个爬虫程序用于各种用途。因此,将 Googlebot 视为一个单一的爬虫程序可能不再完全准确。谷歌在此处记录了其众多爬虫程序和用户代理。
限制。*近,谷歌谈到了其抓取限制。现在,Gary Illyes 对此进行了更深入的探讨。他说:
- Googlebot 目前对任何单个 URL(不包括 PDF)*多可抓取 2MB 的数据。
- 这意味着它只会抓取资源的前 2MB,包括 HTTP 标头。
- PDF 文件的大小限制为 64MB。
- 图片和视频爬虫通常具有很宽泛的阈值范围,这很大程度上取决于它们要抓取的产品。
- 对于任何其他未指定限制的爬虫,无论内容类型如何,默认值均为 15MB。
那么,当谷歌抓取数据时会发生什么?
- 部分抓取: 如果您的 HTML 文件大于 2MB,Googlebot 不会拒绝该页面。相反,它会在文件大小达到 2MB 的阈值时停止抓取。请注意,此限制包含 HTTP 请求头。
- 处理截断部分: 下载的部分(前 2MB 字节)会像完整的文件一样传递给我们的索引系统和 Web 渲染服务 (WRS)。
- 未见字节:超过2MB 阈值 的任何字节 都会被完全忽略。它们不会被获取、渲染或索引。
- 资源加载: HTML 中引用的每个资源(媒体文件、字体和一些特殊文件除外)都会像父页面 HTML 一样,由 WRS 使用 Googlebot 抓取。它们各自拥有独立的、基于 URL 的字节计数器,不计入父页面的大小。
谷歌如何渲染这些字节?当爬虫访问这些字节后,会将其传递给网页渲染服务 (WRS)。谷歌解释说:“WRS 会处理 JavaScript 并执行类似于现代浏览器的客户端代码,以了解页面的*终视觉和文本状态。渲染过程会加载并执行 JavaScript 和 CSS 文件,并处理 XHR 请求,以便更好地理解页面的文本内容和结构(它不会请求图像或视频)。每个请求的资源也都受到 2MB 的限制。”
*佳实践。谷歌列出了以下*佳实践:
- 保持 HTML 代码精简: 将体积较大的 CSS 和 JavaScript 文件移至外部文件。虽然初始 HTML 文档的大小限制为 2MB,但外部脚本和样式表会单独加载(并受其自身大小限制)。
- 顺序很重要: 将*重要的元素(例如元标签、
<title><head> 元素、<link><head> 元素、规范链接和必要的结构化数据)放在 HTML 文档的更靠前位置。这样可以确保它们不太可能被截断在文档末尾。 - 监控服务器日志: 密切关注服务器响应时间。如果服务器处理数据量不足,我们的抓取工具将自动降低抓取频率,以避免服务器基础设施过载。
