购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

任务一
认识网络爬虫

一、实施任务单

续表

二、知识准备:背景、定义、用途、分类

(一)爬虫产生的背景

目前,在互联网中,企业产生的数据、政府/机构公开的数据、数据管理咨询公司所产生的数据规模巨大,如果我们需要获得大量目标数据,有哪些获取数据的方式呢?通常,我们可以在网络中使用搜索引擎,在公开网站上查找到大量数据,将这些数据收集、整理、分析、归纳后,可以从中获得目标数据。其实,搜索引擎使用了网络爬虫不停地从互联网抓取网站数据,并将网站镜像保存在本地,从而为大众提供信息检索功能,如图1-1所示。搜索爬取的模拟流程如图1-2所示。

图1-1 搜索引擎

图1-2 爬取的网络数据

如果单纯地靠人力进行网页信息采集,不仅低效烦琐,而且花费的成本高。爬虫在一定程度上代替了手工访问网页,能够实现自动化采集互联网的数据,以更高的效率利用互联网中的有效信息,网络爬虫已迅速发展成为一门成熟的技术。

(二)爬虫的定义

如果说网络像一张网,那么爬虫就是按照一定的规则,自动地抓取网络数据的程序或者脚本(见图1-3和图1-4),这里的数据是指互联网上公开的并且可以访问到的网页信息,而不是网站的后台信息(没有权限访问),更不是用户的注册信息(非公开的)。

图1-3 爬虫是什么虫?

图1-4 网络爬虫,又称为网页蜘蛛

(三)爬虫的用途

目前互联网已经迈入大数据时代,通过对海量的数据进行分析,能够使这些数据产生极大的商业价值,而爬虫则是获得数据的一个低成本高收益手段。全球各大搜索引擎,都是网络爬虫技术的超级用户。通过爬虫技术可以大规模地抓取一定范围内特定主体的网络信息,作为搜索和查询相关内容时的储备数据资源。简单来说,网络爬虫就像一群不知疲倦的搜索机器虫,可以代替人工对全球网络信息进行搜索。统计结果显示,目前全球互联网和移动互联网上被下载的信息中,只有不到大约55%是真正的人类在占据流量资源,而另外的大约45%网络流量是网络爬虫和各种“机器人”占据流量资源。使用爬虫技术,可以爬取用户公开信息,收集金融信息做投资分析,以及爬取图片等。具体用途如图1-5所示。

图1-5 爬虫的用途

(1)搜索引擎的根基:做搜索引擎少不了爬虫程序。

(2)建立知识图谱,帮助建立机器学习的训练集,如图1-6所示。

图1-6 爬虫的用途之知识图谱

(3)可以用于各种商品的比价、趋势分析等,如图1-7所示。

图1-7 爬虫的用途之比价、趋势分析

(4)其他:分析某平台上竞争对手的数据;分析微博的数据传递影响力;进行基于机器学习的舆情分析;通过抓取招聘网站的招聘数据进行数据分析、数据挖掘等,如图1-8所示。

图1-8 爬虫的用途之招聘数据分析(按评论数排序10个值得去的景点)

(四)爬虫的分类

网络爬虫按照使用场景分类,大致可分为通用网络爬虫、聚焦网络爬虫。通用网络爬虫:通常指的是搜索引擎爬虫。聚焦网络爬虫:针对某一网站或者某一类网站的数据,如12306网站。按照爬取形式分类,分为累积式网络爬虫、增量式网络爬虫。按照爬取数据的存在方式分类,分为表层爬虫和深层爬虫。

1.通用网络爬虫

通用网络爬虫又称全网爬虫,其将互联网上的网页下载到本地,形成互联网内容的一个镜像备份。特点是可根据几个URL的种子不断抓取数据,比较适合为搜索引擎搜索广泛的主题。这类爬虫爬取的范围和数据量都非常大,对爬取的速度和存储空间的要求比较高,对爬取页面的顺序要求比较低,通常采用并行工作的方式来应对大量的待刷新页面。通用网络爬虫工作原理如图1-9所示。

图1-9 通用网络爬虫工作原理

搜索引擎中的爬虫是一种广泛获取各种网页信息的程序,除了HTML文件外,搜索引擎通常还会抓取或将以文字为基础的多种文件类型编成索引,如txt、Word、PDF等,但是对于图片、视频等非文字内容则一般不会处理,搜索引擎工作流程如图1-10所示。

图1-10 搜索引擎工作流程

2.聚焦网络爬虫

聚焦网络爬虫又称主题网络爬虫,是指选择性地爬取那些与预先定义好的与主题相关的页面的网络爬虫。其针对某一特定领域的数据进行抓取,如旅游网站、金融网站、招聘网站等。特定领域的聚集网络爬虫会使用各种技术处理我们需要的信息,一般需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接,并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一个要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。聚焦网络爬虫工作原理如图1-11所示。

图1-11 聚焦网络爬虫工作原理

3.累积式网络爬虫

累积式网络爬虫从某一个时间点开始,通过遍历的方式抓取系统所允许存储和处理的所有网页。

4.增量式网络爬虫

增量式网络爬虫在具有一定规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行抓取,以保证所抓取的数据与真实网络数据足够接近。这种机制能够在某种程度上保证所爬取的页面尽可能新,仅在需要的时候爬取新产生或有更新的页面,能有效地减少数据下载量并及时更新已爬取过的网页,减少时间和存储空间上的浪费,但实现难度大。

5.表层爬虫

表层网页是指传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主。爬取表层网页的爬虫叫做表层爬虫。

6.深层爬虫

深层网页是指那些大部分内容不能通过静态链接获取的,隐藏在搜索表单后的,需要用户提交一些关键词才能获得的Web页面,如登录后可见的页面。深层页面中可访问的信息量是表层页面中的几百倍,为目前互联网上发展最快且最大的新型信息资源。爬取深层网页的爬虫就叫做深层爬虫。

(五)爬虫的工作流程

爬虫就是能获取网页并提取和保存信息的自动化程序。爬虫的工作流程一般如图1-12所示。

(1)向初始URL地址发送请求,并获取响应信息(需要使用HTTP协议)。

(2)对响应信息进行提取。

(3)如果提取到的是URL,则继续发送请求获取响应。

(4)如果提取到的是数据,则将数据保存。

图1-12 网络爬虫工作流程 /YvHbyZM5sVXXg0iP2zC8bnYnMiQjD/g/dAgjqXkJvBnyTUKtKEISj6KH8wfNS/2

点击中间区域
呼出菜单
上一章
目录
下一章
×