什么是 Web 爬网程序?| 网络蜘蛛的工作方式

Web 爬网程序或网络蜘蛛是一种机器人,通常通过 Google 和 Bing 等搜索引擎运行。上述搜索引擎的目的是为整个互联网上的网站内容建立索引,使这些网站能出现在搜索引擎的搜索结果中。

学习目标

阅读本文后,您将能够:

  • 了解 Web 爬网程序(或者网络蜘蛛)的概念
  • 了解 Web 爬网程序如何选择要爬取的页面
  • 说明 Web 爬取与 Web 抓取二者的区别
  • 探讨是否应允许在任意既定网页上进行 Web 爬取

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

使用 Cloudflare 解决方案,抵御凭据填充和内容抓取之类的机器人攻击

什么是 Web 爬网程序机器人?

Web 爬网程序、网络蜘蛛或者搜索引擎机器人会从整个互联网下载内容并建立索引。这种机器人的目标是学习 Web 上(几乎)每个网页的内容,以便需要时检索到相关信息。搜索引擎使用这些机器人来查找相关页面以显示在搜索结果中。这些机器人被称作“Web 爬网程序”是因为爬取是一个技术术语,用以形容通过软件程序自动访问网站或者获取数据。

AI Web 爬网程序是一种独立但相关的爬网程序机器人。它们访问 Web 上的内容的主要目的是为了帮助训练大型语言模型 (LLM),或者帮助 AI 助手向用户提供信息。许多搜索引擎提供商也运营 AI 爬网程序。

搜索引擎 Web 爬网程序

搜索引擎将搜索算法应用于 Web 爬网程序收集到的数据,借此可向用户提供相关链接以响应其搜索查询,在用户向 Google 或 Bing(或者其他搜索引擎)键入搜索内容后形成要呈现的网页列表。

搜索引擎 Web 爬网程序机器人就像一个在混乱无序的图书馆梳理所有书籍的人,这个人整理出卡片目录,方便到访图书馆的任何人都能快速轻松地找到自己所需的信息。整理人员会阅读每本书的标题、摘要和部分内文,从而了解书本内容,这样有助于按照主题将图书馆书籍分门别类。

Web 爬网程序机器人组织信息

但是,与图书馆不同,互联网不是由大量的书籍组成的,这使得很难判断所有必要的信息是否已正确索引,或者是否忽略了其中的大量信息。为了试图查找到互联网所能提供的所有相关信息,爬网程序机器人将从一组已知网页开始,然后从这些页面的超链接导到其他页面,再从这些页面的超链接进一步导到其他页面,以此类推。

搜索引擎机器人迄今实际爬行了多少公共可用的互联网仍是未知之数。一些消息来源估计,只有40%到70%的互联网被编入搜索索引,大概是数十亿个网页。

AI Web 爬网程序

AI Web 爬网程序有两个主要用途:

  1. 为 LLM 提供训练数据:LLM 需要大量内容来优化模型,并为用户提供更有用、更准确的回答。新内容帮助它们持续改进。AI 爬网程序会浏览网站寻找新内容。它们会复制并保存发现的任何内容,以供训练使用。
  2. 为用户实时检索信息:AI 助手有时会用外部来源的内容来补充其生成的答案。为此,它们可能会将其爬网程序机器人发现的 Web 内容整合到其响应中。

什么是搜索索引?

搜索索引就像为互联网创建图书馆目录卡,以便搜索引擎在人们搜索互联网时知道在互联网上何处提取信息。也可以将其与一本书的索引进行类比,该索引列出了书中提到某个主题或短语所在位置。

索引主要关注页面上显示的文本,以及用户看不到的有关页面的元数据*。当大多数搜索引擎将页面编入索引时,它们会将页面上的所有单词添加到索引中 – 在谷歌中,冠词除外。当用户搜索这些单词时,搜索引擎会搜索这些单词出现的所有页面索引,并选择最相关的页面。

*在搜索索引的背景下,元数据是告知搜索引擎网页内容的数据。通常,元标题和元描述将出现在搜索引擎结果页面上,而不是用户可见的网页内容。

爬网程序如何工作?

互联网在不断变化和扩展。由于无法知道互联网上总共有多少个网页,因此爬网程序机器人从种子或已知URL列表开始。他们首先在那些URL上爬行网页。当他们爬网这些网页时,他们会找到指向其他URL的超链接,并将它们添加到要爬行的页面列表中。

鉴于互联网上的大量网页都可以被索引以进行搜索,因此该过程几乎可以无限期地进行下去。但是,爬网程序将遵循某些策略,从而使其在选择要爬网的页面、以什么顺序进行爬网以及应该多久重新爬网一次以检查内容更新的时候能更加灵活。

每个网页的相对重要性:大多数网页爬网程序不会也不旨在爬网整个公开可用的互联网;取而代之的是,他们根据其他页面链接到该页面的数量、该页面吸引的访问者数量以及其他表示该页面包含重要信息的可能性等多重因素,来决定是否首先爬取该网页。

这个原理是如果一个网页被许多其他网页引用并吸引了大量访问者,那么它可能包含高质量的权威信息,因此,搜索引擎对其进行索引就会变得重要且必须,就像一本书如果被很多人借出,那图书馆可能需要确保有很多该书的副本。

重新访问网页:Web 内容不断被更新、删除或者移动到新的位置。Web 爬网程序需定期重新访问页面,确保索引的内容为最新版本。

Robots.txt要求:Web 爬网程序还根据 robots.txt 协议(也称为机器人排除协议)决定爬取哪些页面。爬网程序会在爬取网页之前查看该页面所在 Web 服务器托管的 robots.txt 文件。robots.txt 文件是一种文本文件,其中就机器人访问托管网站或者应用程序详细说明了相应规则。这些规则界定机器人能够爬取哪些页面,以及可以跟踪哪些链接。示例请查看 Cloudflare.com 上的 robots.txt 文件

所有这些因素在每个搜索引擎内置于其蜘蛛机器人的专有算法中的权重都不同。尽管最终目标都是一样——从网页下载内容并为其编制索引——但来自不同搜索引擎的网页爬网程序的行为会略有不同。

为什么爬网程序称为“蜘蛛”?

互联网,或者至少是大多数用户访问的部分,也被称为万维网–实际上,这是大多数网站URL的"www"部分的来源。因此很自然将搜索引擎机器人称为"蜘蛛”,因为他们爬遍了网络,就如同真正的蜘蛛在蜘蛛网上爬行。

是否应始终允许爬网程序机器人访问Web属性?

这取决于 Web 资源,并受多种因素影响。Web 爬网程序要求有服务器资源以便索引内容。爬网程序提出请求,服务器需做出响应,类似于用户或者其他机器人访问网站。视各页面上的内容量或者站点上的页面数量而定,网站运营商最好拒绝频繁的搜索索引,原因是过度索引会给服务器造成过大的负担,增加带宽成本,或者同时造成以上两种后果。

开发人员或者公司可能不希望通过搜索发现某些网页,除非已向用户发送页面链接(不在付费墙或者登录界面后设置页面)。例如,企业在营销活动中创建专门的登录页面,但不希望非活动目标人群访问该页面。采取这种方式,他们能够量身定制消息功能,或者准确估量页面效果。在该实例中,企业可在登录页面添加“无索引”标签,该页面将不会出现在搜索引擎结果中。 企业还可以在页面或者 robots.txt 文件中添加“不允许”标签,搜索引擎蜘蛛则完全不会爬取该页面。

此外,一些 Web 管理员可能不希望 LLM 基于他们的内容进行训练。网站内容可能是专有内容或受版权保护。在某些情况下,收集 Web 内容用于训练数据可能会破坏该网站的业务模式——例如,如果网站托管独特的内容并通过销售广告位来获得收入。对于此类网站,管理员可能希望特别限制 AI 爬网程序机器人活动,同时仍允许搜索引擎机器人爬取。

网站所有者也可能出于各种其他原因,不希望爬网程序机器人爬取其部分或全部站点。例如,为用户提供网站内搜索功能的网站可能希望阻止搜索结果页面,因为这些页面对大多数用户没有用。其他自动生成的仅对一个用户或几个特定用户有用的页面也应被阻止。

Web 爬取与 Web 抓取二者有何区别?

网页抓取、数据抓取内容抓取是指机器人在未经许可的情况下载网站内容的行为,通常是出于恶意目的使用该内容。

网页抓取通常比网页爬行更具针对性。网页抓取的目标可能只是特定页面或特定网站,而网页爬取将继续跟踪链接并连续爬取页面。

此外,网络抓取机器人可能会无视它们对网络服务器造成的压力,而网络爬虫(尤其是来自主要搜索引擎的网络爬虫)将服从robots.txt文件并限制其请求,以免使网络服务器负担过多。

Web 爬网程序对 SEO 有何影响?

SEO代表搜索引擎优化,它是为搜索索引准备内容的准则,以便网站在搜索引擎结果中显示在更高的位置。

如果蜘蛛机器人没有爬取网站,则无法将其编入索引,并且不会在搜索结果中显示。因此,如果网站所有者希望从搜索结果中获得有机流量,那么请不要阻止网络爬虫程序机器人,这一点非常重要。

搜索 Web 爬网程序列表

来自主要搜索引擎的机器人被称为:

  • 谷歌:Googlebot(实际上是两个抓取工具,Googlebot Desktop和Googlebot Mobile,用于桌面和移动设备搜索)
  • Bing:Bingbot
  • DuckDuckGo:DuckDuckBot
  • 雅虎搜索:啜饮
  • Yandex:YandexBot
  • 百度一下:Baiduspider
  • 逸飞公司:淘宝网

还有许多 Web 爬网程序机器人,其中一些与任何搜索引擎都无关联。

AI 爬网程序列表

以下是一些最常见用于为 LLM 收集数据的 AI 爬网程序机器人:

  • OpenAI:GPTBot
  • OpenAI:ChatGPT-User(用于实时检索)
  • Meta:Meta-ExternalAgent
  • Google:GoogleOther
  • 华为:PetalBot
  • Amazon:Amazonbot
  • ByteDance:Bytespider
  • Claude:Claudebot

请查看 Cloudflare 的经过验证的机器人列表

在机器人管理中需将 Web 爬取考虑在内,这点为什么如此重要?

恶意机器人会造成巨大损失,从用户体验差、服务器崩溃到数据盗窃,逐步升级。但在阻止恶意机器人的过程中,仍要允许搜索引擎 Web 爬网程序等善意机器人访问 Web 属性,这一点很重要。Cloudflare 机器人管理允许善意机器人继续访问网站,同时还能减少恶意自动程序流量。该产品自动更新 Web 爬网程序等善意机器人白名单,确保其运行畅通无阻。小型企业可以通过 Cloudflare Pro 和 Business 计划中提供的 Super Bot Fight 模式,获得类似程度的可见性和对其自动程序流量的控制。Cloudflare 还使组织能够阻止 AI 爬网程序,同时仍允许搜索爬网程序通过。

Cloudflare Radar 提供有关搜索爬网程序和 AI 爬网程序的实时见解:查看最新的 Radar 数据