网络爬虫是互联网基础设施的重要组成部分,是进行网页抓取的第一步之一。在本文中,我们将讨论:
- 网络爬虫的定义
- 网络爬虫的工作原理
- 网络爬虫的示例
- 为什么网络爬虫对SEO很重要
- 网络爬虫面临的挑战
网络爬虫的定义
网络爬虫是一种扫描互联网并下载所找到数据的软件机器人。大多数网络爬虫由像Google、Bing、百度和DuckDuckGo这样的搜索引擎操作。搜索引擎将其搜索算法应用于收集的数据,以形成其搜索引擎索引。索引允许搜索引擎根据用户的搜索查询提供相关链接。
还有一些网络爬虫服务于搜索引擎之外的其他目的,例如互联网档案馆的Way Back Machine,它提供了网站在过去某一时刻的快照。
网络爬虫的工作原理
像Google的Googlebot这样的网络爬虫,每天开始时都有一个想要抓取的网站列表,这被称为抓取预算。预算反映了索引页面的需求。两个主要因素影响抓取预算:受欢迎程度和陈旧度。互联网上更受欢迎的URL往往被更频繁地抓取,以保持其在索引中的新鲜度。网络爬虫还会尝试防止URL在索引中变陈旧。
当网络爬虫连接到一个站点时,它首先会下载并读取robots.txt文件。robots.txt文件是机器人排除协议(REP)的一部分,这是一组调节机器人如何抓取网页、访问和索引内容以及向用户提供内容的网络标准。网站所有者可以定义站点上哪些用户代理可以访问哪些内容。robots.txt还可以定义一个抓取延迟指令,以限制爬虫对网站发出的请求速度。robots.txt还列出了与站点关联的网站地图,以便爬虫找到每个页面及其最后更新时间。如果页面自上次爬虫访问以来没有变化,它将在这次被跳过。
当网络爬虫最终到达要抓取的页面时,它会在浏览器中呈现页面,加载所有的HTML、第三方代码、JavaScript和CSS。这些信息存储在搜索引擎的数据库中,然后用于稍后对页面进行索引和排名。它还会下载页面上的所有链接。未在搜索引擎索引中的链接会被添加到待抓取的列表中。
遵守robots.txt文件中的指令是自愿的。大多数主要搜索引擎遵守robots.txt指令,但有些不遵守。像垃圾邮件发送者和僵尸网络这样的恶意行为者无视robots.txt指令。甚至一些合法的网络爬虫,如互联网档案馆,也无视robots.txt。
网络爬虫的示例
搜索引擎有多种类型的网络爬虫。例如,Google有17种类型的机器人:
- APIs-Google
- AdSense
- AdsBot Mobile Web Android
- AdsBot Mobile Web
- Googlebot Image
- Googlebot News
- Googlebot Video
- Googlebot Desktop
- Googlebot Smartphone
- Mobile Apps Android
- Mobile AdSense
- Feedfetcher
- Google Read Aloud
- Duplex on the web
- Google Favicon
- Web Light
- Google StoreBot
为什么网络爬虫对SEO很重要
SEO的目标是让用户在搜索相关搜索词时能够轻松找到您的内容。如果您的内容没有被抓取和索引,Google就无法知道在哪里排名您的内容。
网络爬虫在其他领域也有帮助。电子商务网站经常抓取竞争对手的网站以分析产品选择和定价。这种数据收集通常被称为“网页抓取。”网页抓取专注于特定的HTML数据元素,而网络爬虫则广泛抓取所有内容。在用户方面,也有SERP API工具,帮助抓取和抓取SERP数据。
网络爬虫面临的挑战
网络爬虫可能面临许多挑战。
挑战 | 描述 |
Robots.txt 限制 | 如果网络爬虫遵守robots.txt限制,它可能无法访问某些网页或提交超过任意限制的请求。 |
IP 禁令 | 由于一些网络爬虫不遵守robots.txt限制,网站可以实施其他工具来限制网络爬虫。网站可以禁止已知的恶意IP地址,如诈骗者使用的免费数据代理或某些数据中心IP地址。 |
地理位置限制 | 有些网站要求访问者位于特定地理区域才能访问网站内容。一个很好的例子是尝试从非美国位置访问Netflix美国内容。大多数地理限制可以通过使用住宅代理网络来克服。 |
CAPTCHAs | 有些网站在检测到来自可疑来源的大量活动时,会弹出CAPTCHA验证,以验证请求背后是否为真人。CAPTCHA会扰乱网络爬虫的活动。许多网页抓取解决方案都有工具和技术来克服这些类型的障碍。这些解除封锁的工具通常利用CAPTCHA解决方案。 |
总结
网络爬虫是互联网基础设施的重要组成部分。它们使搜索引擎能够收集构建其搜索索引所需的数据,从而使其能够为用户查询提供搜索结果。许多公司依靠网络爬虫来帮助其研究。实际上,它们通常只关注一两个站点,例如Amazon、Adidas或Airbnb的列表。在这些使用案例中,像Bright Data的Web Scraper API这样的工具更适合其需求。