网络爬虫的前世、今生、未来

什么是网络爬虫?

 

网络爬虫,也称为网页抓取和网页数据提取,基本上是指通过超文本传输协议(HTTP)或通过网页浏览器获取万维网上可用的数据。(摘自Wikipedia)

 

网页数据爬取是如何工作的?

 

通常,爬取网页数据时,只需要2个步骤

打开网页→将具体的数据从网页中复制并导出到表格或数据库中。

 

 

这一切是如何开始的?

 

尽管对许多人来说,网络爬虫听起来像是“大数据”或“机器学习”一类的新概念,但实际上,网络数据抓取的历史要长得多,可以追溯到万维网(或通俗的“互联网”)诞生之时。

 

一开始,互联网还没有搜索。在搜索引擎被开发出来之前,互联网只是文件传输协议(FTP)站点的集合,用户可以在这些站点中导航以找到特定的共享文件。

 

为了查找和组合互联网上可用的分布式数据,人们创建了一个自动化程序,称为网络爬虫/机器人,可以抓取互联网上的所有网页,然后将所有页面上的内容复制到数据库中制作索引。

 

 

随后,互联网发展起来,最终有数百万级的网页生成,这些网页包含大量不同的形式的数据,其中包括文本、图像、视频和音频。互联网变成了一个开放的数据源

 

随着数据资源变得非常丰富且容易搜索,人们发现从网页上找到他们想要的信息是一件非常简单的事情,他们通常分布在大量的网站上。但另一个问题出现了,当他们想要数据的时候,并非每个网站都提供下载按钮,如果进行手动复制显然是非常低效且乏味的。

 

 

这就是网络爬虫诞生的原因。网络爬虫实际上是由网页机器人/爬虫驱动的,其功能与搜索引擎相同。简单来说就是,抓取和复制。唯一的不同可能是规模。网络数据抓取是从特定的网站提取特定的数据,而搜索引擎通常是在万维网上搜索出大部分的网站。

 

时间轴

 

1989年万维网的诞生

 

 

 

从技术上讲,万维网和因特网有所不同。前者是指信息空间,后者是由数台计算机连接起来的内部网络。

 

感谢Tim Berners-Lee,万维网的发明者,他发明的三件东西,往后成为了我们日常生活中的一部分。

 

  • 统一资源定位器(url),我们通过它来访问我们想看的网站;

     

  • 内嵌的超链接,让我们可以在网页之间导航,例如产品详情页,我们可以在详情页找到产品规格和许多其他信息,比如“购买此产品的顾客也购买了某某商品”;

     

  • 网页不仅包含文本,还包括图像、音频、视频和软件组件。

 

 

1990年第一个网络浏览器

 

它也由Tim Berners-Lee发明,被称为WorldWide网页(无空间),以WWW项目命名。在网络出现一年后,人们有了一条途径去浏览它并与之互动。

 

1991年第一个网页服务器和第一个http:// 网页页面

 

网页的数量以平缓的速度增长。到1994年,HTTP服务器的数量超过200台

 

1993年6月第一台网页机器人——万维网漫游器

 

虽然它的功能和今天的网页机器人一样,但它只是用来测量网页的大小

 

1993年12月首个基于爬虫的网络搜索引擎—JumpStation

 

由于当时网络上的网站并不多,搜索引擎过去常常依赖人工网站管理员来收集和编辑链接,使其成为一种特定的格式。

 

JumpStation带来了新的飞跃。它是第一个依靠网络机器人的WWW搜索引擎

 

从那时起,人们开始使用这些程序化的网络爬虫程序来收集和组织互联网。从Infoseek、Altavista和Excite,到如今的必应和谷歌,搜索引擎机器人的核心依然保持不变

 

找到一个网页页面,下载(获取)它,抓取网页页面上显示的所有信息,然后将其添加到搜索引擎的数据库中。

 

由于网页页面是为人类用户设计的,不是为了自动化使用,即使开发了网页机器人,计算机工程师和科学家仍然很难进行网络数据抓取,更不用说普通人了。因此,人们一直致力于使网络爬虫变得更加容易使用

 

2000年网页API和API爬虫

 

 

API表示应用程序编程接口。它是一个接口,通过提供搭建好的模块,使开发程序更加便捷。

 

2000年,Salesforce和eBay推出了自己的API,程序员可以用它访问并下载一些公开数据。

 

从那时起,许多网站都提供网页API让人们可以访问他们的公共数据库。

 

发送一组HTTP请求,然后接收JSON或XML的回馈。

 

网页API通过收集网站提供的数据,为开发人员提供了一种更友好的网络爬虫方式。

 

2004 年Python Beautiful Soup

 

 

不是所有的网站都提供API。即使他们提供了,他们也不一定会提供你想要的所有数据。因此,程序员们仍在开发一种能够完善网络爬虫的方法。

 

2004年,Beautiful Soup发布。它是一个为Python设计的库。

 

在计算机编程中,库是脚本模块的集合,就像常用的算法一样,它允许不用重写就可以使用,从而简化了编程过程。

 

通过简单的命令,Beautiful Soup可以理解站点的结构,并帮助从HTML容器中解析内容。它被认为是用于网络爬虫的最复杂和最先进的库,也是当今最常见和最流行的方法之一。 

 

2005-2006年网络抓取软件的可视化

 

 

2006年,Stefan Andresen和他的Kapow软件(Kofax于2013年收购)发布了网页集成平台6.0版本,这是一种可视化的网络爬虫软件,它允许用户轻松简单的选择网页内容,并将这些数据构造成可用的excel文件或数据库。

 

                 八爪鱼数据采集器

 

最终,可视化的网络数据抓取软件可以让大量非程序员自己进行网络爬虫。

 

从那时起,网络抓取开始成为主流。现在,对于非程序员来说,他们可以很容易地找到80多个可提供可视化过程的的数据采集软件。

 

 

 

网络爬虫未来将如何发展?

 

我们总是想要更多的数据。我们收集数据,处理数据,并把数据转换成各种各样的成品,比如研究,洞察分析,信息,故事,资产等等。我们过去常常花费大量的时间、精力和金钱在寻找和收集数据上,以至于只有大公司和组织才能负担得起。

 

在2018年,我们所知的万维网,或通俗的“互联网”,由超过18亿个网站组成。只需点击几下鼠标,就可以获得如此巨大的数据量。随着越来越多的人上网,每秒产生的数据也越来越多。

 

 

如今,是一个比历史上任何时期都要方便的时代。任何个人、公司和组织都能够获得他们想要的数据,只要这些数据在网页上是公开可用的。

 

多亏了网络爬虫/机器人、API、标准数据库和各种开箱即用的软件,一旦有人有了获取数据的意愿,就有了获取数据的方法。或者,他们也可以求助于那些他们接触得到又支付的起费用的专业人士。

 

 

在自由职业任务平台guru.com上搜索“网络爬虫”时,你可以得到10088个搜索结果,这意味着超过10000名自由职业者在这个网站上提供网络抓取服务。

 

而在同类的网站,Upwork上的搜索结果有13190个,fievere.com上的结果是1024个。

 

各行各业的公司对网络数据的需求不断增长,推动了网络抓取行业的发展,带来了新的市场、就业机会和商业机会。

 

 

与此同时,与其他新兴行业一样,网络抓取也伴随着法律方面的担忧。

 

围绕网络爬虫合法性的讨论情况仍存在。它的合法与否与具体案例背景相关。目前,这种趋势下诞生的许多有趣的法律问题仍然没有得到解答,或者取决于非常具体的案例背景。

 

虽然网络抓取已经存在了很长一段时间,但法院才刚刚开基础大数据相关的法律理论的应用。

 

由于与网络爬取和数据抓取的仍处于发展阶段,所以它的发展仍然未稳定下来且难以预测。然而,有一件事是肯定的,那就是,只要有互联网,就有网络抓取

 

 

是网络抓取让新生的互联网变得可以搜索,使爆炸式增长的互联网变得更加容易访问和获取。

 

毫无疑问,在可预见的未来,互联网和网络抓取,将继续稳定地向前迈进。

 

扫码,关注“八爪鱼采集研究院”,获得更多资料

你可能感兴趣的:(数据爬虫与采集科普)