您可能多次遇到过“网页抓取”和“网页爬行”这两个术语。 它们经常在类似的环境中使用,有时甚至可以互换使用。 然而,它们具有不同的含义。 但有一个共同点,那就是无论是“Web Scraping”还是“Web Crawling”,都必须使用代理服务。 市场上有成千上万的代理提供商,这使得选择更加困难,尤其是对于新手来说。 为了减少代理测试的费用,我建议优先选择提供免费试用的公司。 我现在正在测试一个名为 Nstproxy(https://www.nstproxy.com/) 的代理服务,他们拥有超过 2 亿个 IPv4 和超过 2000 万个 IPv6 代理,此外他们还为新用户提供免费流量代理。
本指南将解释网络抓取和网络爬行如何相互比较。
什么是网络爬虫?
如果互联网是一个网络,那么网络爬虫是用来做什么的呢?没错!它也被称为"蜘蛛",网络爬虫通过遍历网站来传播。在这个过程中,它们记录下所遇到的一切:网站的结构、内容以及与其他网站的关系。这个整个过程就是网络爬虫。
最著名的网络爬虫是搜索引擎,特别是谷歌。它们的工作是不断地抓取它们能够找到的所有网站,并为这些结果建立一个庞大的索引。然后,搜索引擎会对它们所发现的内容应用一些算法,例如有多少其他页面链接到您的页面,并相应地对网站进行排名。
但网络爬虫不一定只存在于搜索引擎中。您也可以自己构建网络爬虫,或者使用专业工具如Screaming Frog来爬取网站。正如我们很快会发现的那样,网络爬虫在网络抓取过程中扮演着重要的角色。
什么是网络抓取?
简单来说,网络抓取的过程就是从网站中提取数据。这可以是任何东西,从电子商务网站的笔记本电脑价格,到在线黄页中的电话号码,再到电影数据库中的电影列表和主要演员。
网络爬虫与网络抓取的区别
那么,网络爬虫和网络抓取有什么区别呢?
网络爬虫相对来说不太挑剔。它们浏览一个网站并寻找它们能够找到的任何信息:从URL结构开始一直到内容的结束。换句话说,网络爬虫的工作是对数据进行索引或编目。
另一方面,网络抓取更加专注。如果您只是想获取竞争对手的定价信息,那么您就不需要抓取隐私政策或者"关于我们"页面。甚至您可能并不需要完整的产品页面,只需要商品的名称、型号和定价数据就足够了。
在网页数据提取过程中
网络爬虫和网络抓取虽然不是同一回事,但它们是相辅相成的。如果您想从多个页面抓取数据,那么您就需要浏览整个网站的URL。为此,您需要为您的爬虫配备爬行逻辑。在这种情况下,您所处理的到底是爬虫还是抓取器就变得不太清楚了,因此这两个术语可以互换使用。
所以,回答这两者之间关系的问题:网络爬虫将您的抓取器传送到正确的位置,以便它可以完成工作。
在公众认知中
这是事情的技术方面。当我们考虑到爬虫和抓取的感知时,差异变得更加明显。
由于与搜索引擎的关联,网络爬虫具有相对较好的声誉。它们尊重网站的robots.txt文件(该文件告诉爬虫它们可以在网站上做什么),不会给服务器带来过多负担,并且通常表现得像友好的小机器人。
然而,网络抓取具有负面影响。抓取器会忽略robots.txt,获取非法信息,并通过不断发送过多的请求来对网站造成破坏。尽管它们不需要这样做,也通常不会这样做,但是当进行比较时,通常认为网络抓取是不好的。
关于网络爬虫和网络抓取的常见问题
网络爬虫有什么用处?
网络爬虫主要被搜索引擎用于对互联网上的网站和网页进行索引。它们也被用于网络抓取,以指导抓取器从一个页面跳转到另一个页面。
网络爬虫和数据爬取是相同的吗?
在某种程度上是相同的,但是网络爬虫和数据爬取并不完全相同。数据爬取不仅包括网站,还可能包括其他数据,比如PDF文档。
网络爬虫是网络抓取的一部分吗?
可以是,但不一定。例如,尽管Google Bot会抓取它访问的每个页面,但没有人称其为网络爬虫。但是当您构建一个爬行逻辑来从多个网页中提取特定数据时,那么网络爬虫就成为网络抓取过程的一部分。