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

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

学习目标

阅读本文后,您将能够:

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

相关内容


想要继续学习吗?

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

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

复制文章链接

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

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

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

这些机器人几乎总是由搜索引擎操作。通过对爬网程序收集的数据执行搜索算法,搜索引擎可以响应用户搜索查询提供相关链接,在用户将搜索输入谷歌或Bing(或其他搜索引擎)生成显示网页列表。

爬网程序机器人就像是一个人,会浏览图书馆中杂乱无章的所有书籍,并整理卡片目录,以便访问图书馆的任何人都可以快速、轻松地找到所需的信息。为了帮助按主题对图书馆的书籍进行分类和组织,组织者将浏览书名、摘要和每本书的一些内部文本,以了解其概要。

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

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

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

什么是搜索索引?

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

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

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

爬网程序如何工作?

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

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

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

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

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

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

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

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

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

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

这取决于网络媒体资源,取决于许多因素。爬网程序需要服务器资源才能为内容建立索引–它们发出服务器需要响应的请求,就像访问网站的用户或其他访问网站的机器人一样。取决于每个页面上的内容量或网站上的页面数量,不宜过于频繁地进行搜索索引可能比较符合网站运营商的最大利益,因为过多的索引可能会使服务器负担过多或增加带宽成本,或者两者都有。

另外,除非用户已获得指向该页面的链接(而无需将该页面置于付费专区或登录名后),否则开发人员或公司可能不希望某些网页被发现。对于企业来说,这种情况的一个例子是,他们为营销活动创建专用的登录页面,但是他们不希望任何非目标受众访问该页面。这样,他们可以定制消息内容或更精确衡量页面的成效。在这种情况下,企业可以在目标网页上添加" no index "标签,这样就不会显示在搜索引擎结果中。他们还可以在页面或robots.txt文件中添加"disallow"(不允许)标记,搜索引擎蜘蛛程序将根本不会抓取该标记。

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

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

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

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

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

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

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

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

网络爬虫列表

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

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

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

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

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