一听到爬虫这个词语,我们是不是首先想到的是蜥蜴、变色龙、鳄鱼甚至是恐龙?虽然在生物领域爬虫的确指的是这些拥有脊椎,用肺呼吸的变温动物。但是我们计算机领域,爬虫指的是一种按照一定的规则,自动抓取互联网信息的程序。
无处不在的爬虫
其实在你我身边,爬虫的产物无处不在,比如说我们熟悉的百度,搜狗,谷歌。这些搜索引擎,他们之所以能为我们提供这么多搜索结果,是因为他们无时无刻都在网络上爬取信息,并且建立了一个很大的索引。我们使用的时候只需要输入我们想要找的信息,他们便能及时反馈给我们。还有一些商业爬虫,比如有一些第三方的比价软件,通过爬取不同购物平台的同类商品的不同价格,进行横向对比,指导消费者进行购物。如果你将来搞机器学习,爬虫就是你获取数据的一种途径。网络上的信息千千万,只要你懂爬虫,你都能轻松获取。当然,道高一尺魔高一丈,有一些平台为了避免爬虫爬取自己网站上的数据,也会有相对应的反爬虫战术,这些暂且放在一边。
爬虫的原理
既然我们身边的爬虫产物那么多,那么爬虫到底是怎么工作的呢?要理解这个,我们就必须先了解我们网页的构成。我们看到的网页,光鲜亮丽的外表下,不是别的什么,全部是代码。这种代码我们称为HTML。HTML是一种浏览器能看得懂的语言,浏览器能将这种语言转换成我们用肉眼能看到的网页。所以HTML里面必然存在着很多规律,我们的爬虫就能按照这样的规律来爬取我们需要的信息。 例如,我们可以在浏览器中任意一个网页按F12,进入开发者模式。
我们清楚地看到有一个名为<title>的字段,这个便是我们整个网页的标题,假如我们需要让我们的爬虫爬取各个网页的标题信息,只需要让我们的爬虫记住每一个网页中的<title>字段,那么最终爬虫爬取到的结果便是所有网站的标题信息。
总结
建立在爬虫之上的各种应用,丰富了我们的生活,提供了便利。但是同时这也会带来一些负面的影响,例如,不法分子会在网络上爬取用户的各种隐私,出售或用之于网络暴力。还有一些公司利用爬虫获取竞争对手的行业信息,甚至演变为恶性竞争。毕竟任何事物都有其双面性。所以,面对种种违法的行为,如果有必要,我们需要勇于拿起法律的武器,捍卫自身的合法权益。
参考文章:
[1]莫烦.网页爬虫[EB/OL].https://mofanpy.com/tutorials/data-manipulation/scraping/,2017-12-29.