第1章 网络爬虫概述与原理
1.1 网络爬虫简介
随着互联网的迅速发展,网络数据资源呈爆炸式增长,信息需求者如何从网络中提取信息变得更加重要。如今,有效地获取网络数据资源的方式,便是网络爬虫。网络爬虫(Web Crawler)又称为网络蜘蛛(Web Spider)或Web信息采集器,是一种按照指定规则,自动抓取或下载网络资源的计算机程序或自动化脚本。
对网络爬虫狭义上的理解:利用标准网络协议(如HTTP、HTTPS等),根据网络超链接和信息检索方法(如深度优先)遍历网络数据的软件程序。
对网络爬虫功能上的理解:确定待采集的URL队列,获取每个URL对应的网页内容(如HTML和JSON等),根据用户要求解析网页中的字段(如标题),并存储解析得到的数据。
网络爬虫技术在搜索引擎中扮演着信息采集器的角色,是搜索引擎模块中的最基础的部分。例如,我们常用的搜索引擎Google、百度、必应(Bing)都采用网页爬虫技术采集海量的互联网数据。图1.1展示了搜索引擎的大致结构。第一步,利用网络爬虫技术自动化地采集互联网中的网页信息。第二步,存储采集的信息。在存储过程中,往往需要检测重复内容,从而避免大量重复信息的采集;同时,网页之间的链接关系也需要存储,原因是链接关系可用来计算网页内容的重要性。第三步,数据预处理操作,即提取文字、分词、消除噪音以及链接关系计算等。第四步,对预处理的数据建立索引库,方便用户快速查找,常用的索引方法有后缀数组、签名文件和倒排文件。第五步,基于用户检索的内容(如用户输入的关键词),搜索引擎从网页索引库中查找符合该关键词的所有网页(结果集),通过对结果集的排序,将最相关的网页返回给用户。
图1.1 搜索引擎大致结构
另外,网络爬虫在其他方面也发挥着重要作用。
大数据环境下舆情分析与监测:政府或企业基于网络爬虫技术,采集论坛评论、在线博客、新闻媒体和微博等网站中的海量数据,采用数据挖掘相关方法(如实体识别、词频统计、文本情感计算、主题识别与演化等),发掘舆情热点、跟踪目标话题,并根据一定的标准采取相应的舆情控制与引导措施。
大数据环境下的用户分析:企业利用网络爬虫技术,采集用户基本信息、用户对企业或商品的看法、观点以及态度等数据、用户之间的互动信息等。基于这些信息,企业可以对用户进行画像,如用户基本属性画像、用户产品特征画像、用户互动特征画像等,发掘用户对产品的个性化偏好与需求。同样,也可分析企业自身产品的优势和顾客反馈情况等。
科研需求:针对网络大数据驱动、多源异构数据驱动的科学研究,必然涉及网络数据采集技术。例如,针对网络中的多源异构数据(如数字、文本、图片和视频等),如何更好地管理与存储所采集的数据、如何进行数据的过滤与融合、如何对数据的可用性进行评估、如何将数据应用到商业分析中等,都是目前研究的热点问题。