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

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

Share facebook icon linkedin icon twitter icon email icon

Web 爬网程序

学习目标

阅读本文后,您将能够:

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

什么是网络爬虫机器人?

网络爬虫,蜘蛛程序或搜索引擎机器人从整个互联网下载内容并编制索引。这些机器人的目标是学习(几乎)网络上每个网页的内容,以便可以在需要时检索信息。它们被称为"网络爬虫"因为爬取是用于自动访问网站并通过软件程序获取数据的技术术语。

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

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

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

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

什么是搜索索引?

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

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

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

网络爬虫如何工作?

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

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

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

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

重新访问网页: 网页上的内容通常会被持续更新、删除或移动到新位置。网页爬网程序将定期需要重新访问页面,以确保对内容的最新版本进行索引。

Robots.txt要求:网页爬网程序还会根据robots.txt协议(也称为机器人排除协议)来决定要爬网的页面。在抓取网页之前,他们将检查该网页的网络服务器托管的robots.txt文件。 robots.txt文件是一个文本文件,用于指定所有机器人访问托管网站或应用程序的规则。这些规则定义了机器人可以爬网的页面以及它们可以遵循的链接。作为示例,查看Cloudflare.com robots.txt文件

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

为什么网络爬虫称为“蜘蛛”?

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

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

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

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

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

网页爬行和网页抓取之间有什么区别?

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

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

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

网页爬网程序如何影响SEO?

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

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

互联网上有哪些活跃的网页爬虫机器人?

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

  • 谷歌:Googlebot(实际上是两个抓取工具,Googlebot Desktop和Googlebot Mobile,用于桌面和移动设备搜索)
  • Bing:Bingbot
  • Yandex(俄罗斯搜索引擎):Yandex Bot
  • 百度(中国搜索引擎):百度蜘蛛

还有许多不太常见的网络爬虫程序机器人,其中一些与任何搜索引擎都没有关联。

为什么有必要在机器人管理中将网页爬虫考虑在内?

不良的机器人程序可能会造成很大的破坏,从糟糕的用户体验到服务器崩溃再到数据盗窃。但是,在阻止恶意机器人的时候,同样重要的是要保持允许良性机器人——例如网页爬网程序——问Web属性。Cloudflare 机器人管理允许良性机器人继续访问网站,同时仍可防护恶意机器人流量。该产品维护并自动更新 良性机器人白名单,例如网页爬虫,以确保它们不会被阻止。