网络爬虫定义

网络爬虫是一种数字搜索引擎机器人,会使用副本和元数据来发现网页并建立索引。网络爬虫也称为蜘蛛机器人,通过“爬取”万维网(因此又称“蜘蛛”和“爬虫”)来了解给定页面的内容。然后,为页面建立索引并存储信息以供将来搜索之用。

索引指的是在给定的模式或结构中组织数据。这是一个可让搜索引擎使用索引的数据将相关搜索结果与查询相匹配的过程。因此,网络爬虫是一种有助于提升网页浏览体验的工具。

互联网网络爬虫和企业网络爬虫是有区别的。互联网网络爬虫会爬取互联网,并通过发现新网站并为它们建立索引来不断扩大爬取疆域。企业网络爬虫会爬取给定的商业网站来为网站数据建立索引,以便用户使用网站的搜索功能查询时可以发现这些信息。它还可以用作将某些搜索实现自动化的商业工具。

网络爬取工作原理

网络爬取的工作原理是,发现新页面,为它们建立索引,然后存储这些信息以供将来使用。它可以在指定时间间隔内不断爬取内容,以便让您的搜索结果保持最新和可搜索性。

发现和提取页面
为了收集尽可能多的网站或网页上的信息,网络爬虫会在网页上的链接之间移动。

网络爬虫从一个已知的 URL 或种子 URL 开始,然后从这页上的链接发现并访问新网站。它一遍又一遍地重复这个过程,不断寻找新的页面。由于在线页面数量巨大,而且信息不断更新,因此这个过程几乎可以无限期地进行下去。

爬虫找到但记住以供未来发现的链接,构成了所谓的爬取疆域。然后,根据一组策略或爬取规则确定的顺序访问这些超链接。这些策略包括选择策略、重新访问策略、礼貌策略和并行化策略。

网络爬虫会考虑链接到给定页面的 URL 数量和访问给定页面的次数 — 所有这些都是为了发现重要内容,并为它们建立索引。其逻辑是,经常访问和引用的页面包含权威、高质量的信息。因此,搜索引擎知道网站并让网站能够被发现是非常重要的。

呈现、下载和索引页面
爬虫机器人一旦发现一个新页面,无论是网站副本还是元标记,它都会呈现其中的信息,下载这些信息,并对其建立索引。有些网络爬虫只能访问或读取公共页面,有些则有权限索引经过认证的页面。它们还必须遵循 robots.txt 文件和 noindex 元标记的要求。robots.txt 文件针对在线页面设置了具体的爬取规则,用于确定机器人可以跟踪哪些链接,以及可以索引哪些信息。noindex 元标记可识别不用于索引的元标记。

清洗并重复
网络爬虫的目的是索引和下载有关给定网站的信息。爬虫一直在扩大爬取疆域,寻找新的网站、页面和更新内容。因此,它们会不断扩大搜索引擎的索引数据。

在蜘蛛机器人的帮助下,搜索引擎算法可以对爬虫创建的索引进行排序,以便在查询时将它们提取到结果中并进行排名。

Elastic web crawler for use in creating flexible search capability for web properties

网络爬取为什么如此重要?

网络爬取对企业来说很重要,因为它是搜索引擎功能的关键。它可让搜索引擎索引信息,并了解存在哪些网站和页面,以便在与查询相关时引用这些信息。

可发现性
网络爬取之所以能成为成功实施 SEO 和搜索策略的重要工具,部分原因是它使商业网站和商业信息都可被发现。没有初始爬取,搜索引擎就无法知道您的网站或网站数据的存在。网站的内部爬取还有助于您管理网站数据,使其保持最新状态和相关性,以便用户在查询时能够发现正确的信息,并让您触达正确的受众。

用户满意度
使用企业网络爬虫也是企业网站搜索功能的关键。因为爬取会为网站数据建立索引(无需您费心费力),所以您能够为用户提供流畅的搜索体验,并更有可能将他们转化为客户。

自动化和节省时间
网络爬虫可自动进行数据检索,并通过爬取网站的内部和外部网页,提升网站的参与度。这样,您就可以专注于创建内容,并在必要时进行战略性更改。简而言之,网络爬取,以及网站的可爬取性,都对企业的成功至关重要。

网络爬虫的关键组件

网络爬虫是必不可少的搜索引擎工具,因此它们的特定组件被视为专有信息。网络爬虫有助于区分搜索服务和定义搜索体验 — 例如,您在 Google 上的体验就不同于在 Yandex 或 Bing 上的体验。此外,您在自己网站上的搜索体验可能与您的竞争对手也有所不同,这取决于搜索结果中所显示信息的新旧程度、准确性和相关性。

因此,尽管不同的网络爬虫(无论是互联网还是企业爬虫机器人)工作方式不同,但它们都共享标准架构,并具有相似的功能。它们会收到一个种子 URL 作为输入。以此为起点,它们可以沿着爬取疆域(爬取机器人尚未访问的 URL 列表)访问更多的 URL。

基于一组策略或爬取规则,例如礼貌策略(机器人可以索引的内容)和重新访问策略(可以爬取的频率),爬虫将继续访问新的 URL。

爬取过程中,它必须有能力呈现 URL 的信息,能够高速下载、索引并将信息存储在引擎中以供将来使用。

互联网爬虫可以进行全网搜索,而企业网络爬虫则可让您的内容在网站上搜索到。它们的部分功能包括:

  • 爬取活动一目了然,方便您跟踪爬取性能
  • 具有可编程性,便于使用灵活的 API 控制机器人
  • 值观易用的用户界面

网络爬虫的类型

网络爬虫可以通过编程来完成不同的任务。因此,有很多不同类型的网络爬虫。

聚焦网络爬虫:聚焦网络爬虫的目标是爬取聚焦于某个参数的内容,比如与单一主题相关的内容,或者来自单一类型域的内容。为了做到这一点,聚焦网络爬虫会根据概率来识别要跟踪的超链接。

增量网络爬虫:增量网络爬虫是一种重新访问网页以更新索引的爬虫机器人。在适用的情况下,它就会用新的 URL 替换旧的链接。这个过程有助于减少不一致的文档下载。

分布式爬虫:分布式爬虫可同时在不同的网站上工作,以完成爬取任务。

并行爬虫:并行爬虫是一种同时或并行运行多个进程以提高下载效率的爬虫机器人。

常用搜索引擎机器人

最常用的爬虫机器人是互联网搜索引擎机器人。它们包括:

  • BingBot:Bing 的爬虫机器人
  • GoogleBot:由两个机器人组成:一个用于移动平台,一个用于桌面平台
  • DuckDuckBot:DuckDuckGo 的机器人
  • Slurp:Yahoo Search 的机器人
  • YandexBot:Yandex 的机器人
  • Baiduspider:Baidu 的搜索引擎机器人

探索 Elasticsearch 的爬虫机器人

网络爬取的益处

搜索引擎使用的网络爬取可为用户提供友好的搜索体验,而企业用户则可在许多方面从网络爬取中获得多种益处。

对于企业用户来说,网络爬取的主要益处在于,可以发现他们的网站、内容和数据,因此对于企业 SEO 和搜索策略都至关重要。爬取网站也是为网站数据建立索引以提升搜索体验最简单的方法。而且好消息是,网络爬取不会影响网站的性能,因为它是在后台运行的。定期网络爬取还有助于您管理网站性能,提升搜索体验,以及确保网站排名最优。

其他网络爬取的益处包括:

  • 内置报告:大多数网络爬虫都具有可供使用的报告或分析功能。这些报告通常可导出为电子表格或其他可读格式,是管理 SEO 和搜索策略的实用工具。
  • 爬取参数:网站管理员可以设置爬取速率的频率规则。您可以决定蜘蛛机器人爬取网站的频率。因为机器人是自动化的,所以不需要每次都手动提取爬取报告。
  • 自动索引:在网站上使用网络爬虫可让您自动对数据建立索引。您可以控制爬取和索引哪些数据,从而进一步实现流程自动化。
  • 潜在客户挖掘:爬取可帮助您收集对市场的见解,发现市场中的机会并挖掘潜在客户。作为一种自动搜索工具,它加快了原本需要手动完成的搜索过程。
  • 监测:网络爬虫可帮助您监测社交媒体上对公司的提及,并加快响应时间。网络爬虫用于监测时,可以成为一个有效的 PR 工具。

网络爬取的挑战与局限性

网络爬取的主要挑战在于存在大量数据,而且这些数据还在不断产生或更新。虽然爬虫可不断地寻找链接,但也不太可能发现所有已产生的数据。部分原因就在于以下这些挑战和局限:

  • 定期内容更新:搜索引擎优化策略都鼓励公司定期更新网页上的内容。有些公司会使用动态网页,可根据访问者的参与度自动调整内容。由于源代码会定期更改,网络爬虫必须经常重新访问网页,以便索引保持最新状态。
  • 爬虫陷阱:有时,网站会故意使用爬虫陷阱来防止蜘蛛机器人爬取某些页面。常见的爬虫障碍是 robots.txt 文件或 noindex 元标记。虽然它们的目的是保护网站的某些部分不被爬取和索引,但有时也会使爬虫出错。一旦发生这种情况,机器人就会陷入恶性爬取循环,浪费爬虫资源和爬取预算。
  • 带宽不堪重负:在下载和索引大量网页时,网络爬虫会消耗大量网络容量,导致网络带宽不堪重负。
  • 重复的内容:无论是机器还是人为错误造成的重复内容,都可能会导致索引不准确。当爬虫访问重复页面时,它们只会对一个页面进行索引和排名。对机器人来说,确定下载哪个网页并建立索引非常困难,这对企业来说也会适得其反。

网络爬取与网络抓取

爬取和抓取的关键区别在于,网络爬取用于建立数据索引,而网络抓取用于提取数据。

网络抓取(也称为网络收集)通常比爬取更有针对性。它抓取的规模可大可小,用于从网站中提取数据和内容,以进行市场研究、挖掘潜在客户或测试网站。网络爬取和网络抓取有时可以互换使用。

网络爬虫通常需要遵循 robots.txt 文件和 URL 疆域策略等规则,而网络抓取器可能会无视权限,非法下载内容,并忽略其活动可能导致的任何服务器压力。

使用 Elastic 进行网络爬取

Elastic 网络爬虫是一种 Elasticsearch 工具,可让开发人员轻松索引和同步他们网站上的内容。爬虫可自动处理索引且易于控制,同时还可配置和可观测。

使用 Elastic 可直接投入生产环境的网络爬虫,您可以安排自动运行爬取的时间,配置规则,以及爬取经过认证的内容和 PDF。

使用 Elastic 探索网络爬取

脚注

1What's the future of web scraping in 2023?”(2023 年网络抓取前景如何?);来源:Apify 博客;发布时间:2023 年 1 月