一、文献综述
(一)国内外研究现状
大数据时代,随着互联网的高速发展,网络中的信息量呈现了爆发式增长,教育、医疗、科研等所有领域,信息都在不断增长革新。人们在面对大量信息时,对信息的收集和处理也愈发困难,一是信息量巨大,人类难以在短时间内处理大量数据;二是信息质量不定,可能存在好的数据以及坏的数 据,包括过时的数据。为获取有效的、需求的信息,往往需要人工进行信息的搜集、分析,这将大大增加时间成本和人力成本;同时,手动的信息采集往往难以得到全面的结果,进而遗漏部分有效信息。这时候,网络爬虫往往能承担起自动化信息收集的任务,因此网络爬虫技术越来越受到人们的青睐,它可以对庞大的数据进行自动化处理,筛选出所需要的的数据,大大节约时间和精力。
网络爬虫,简单的说就是一种能够自动获取互联网中数据信息的程序。按功能分,可分为两种:一是网页爬虫,根据URL进行数据的获取;二是接口爬虫,通过API接口获取数据。按合法性分,网络爬虫包含合法网络爬虫和非法网络爬虫。合法的网络爬虫即允许在网页上运行的爬虫,只会在允许的情况下收集允许收集的数据,而非法的网络爬虫会在不被允许的情况下不停收集数据并占用资源。
目前,网络爬虫技术已被人们广泛应用,渗透在生活的方方面面。常见的有如利用搜索引擎(百度、Google等)对信息进行检索,相较于传统搜索,网络爬虫能获取到更多数据并进行筛选处理,因为爬虫中具有如深网爬虫这样可以对深网数据进行搜索的爬虫;电商平台等通过爬虫技术对大数据进行爬取和分析,从而实现商品推荐和推送;在网络安全方面,爬虫技术可以用来爬取前端数据,进而发现异常或错误并通知网站人员,维护网站安全;爬虫技术应用于科学研究,能极大提高科研效率、进行自动化验证、减少工作量。除了常见的爬虫应用场景之外,还有将基于CheerIo的MEAN Stack爬虫应用于气象领域,用于提取天气数据[3];在长江水资源审计中,用爬虫生成自动化程序以提高工作效率[4];用Java编写的可伸缩分布式网络爬虫UbiCrawler[1]等等。
同时,科技是把双刃剑,网络爬虫有利也有弊,恶意网络爬虫也在日益危害网络世界。世界上每天数十亿的爬虫行为,包括合法爬虫和非法爬虫行为,遍及抢票、挂号、热点新闻、大数据推荐等都在影响着人们的日常生活[5]。
(二)研究主要成果
网络爬虫技术目前已广泛应用在各个领域,按照系统结构和技术主要可分为四类:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫和深网爬虫[6]。
通用网络爬虫,又称全网爬虫,主要通过一些URL逐级扩大至整个Web,逐级访问,访问的范围、数据量都十分庞大,因此大多用于搜索引擎等商业用途。因为通用网络爬虫的爬行范围巨大,因此它的速度并不快,常常采取两种爬行策略用以提高工作效率,一是深度优先策略,主要依照深度由浅入深,即先爬行至某一分支无法继续爬行的最深处,再返回上一节点进行重复操作;二是广度优先搜索策略,优先爬行完当前浅层再层层深入[7]。两种策略各有利弊,深度优先策略爬行更深入,但也会因为长时间的深入而更浪费资源,广度优先策略虽然能控制爬行深度,但需要花更多时间才能到达深层数据。
聚焦网络爬虫,又称主体网络爬虫,主要根据预设进行有选择的爬行而并非全面爬行,即只爬行与主题有关的页面,如参照与查询词的相关性等。相比于通用网络爬虫,聚焦网络爬虫就省去了无关的页面爬行,这也就节省了时间以及资源,更加得迅速。因此,聚焦网络爬虫也具有四种爬行策略用以评定优先级:一是基于内容,主要参照用户输入的查询文本,通过Fish Search算法评定文本的相似性;二是基于链接结构,通过PageRank算法评价链接的权重;三是基于增强学习,通过贝叶斯分类器进行分类决定;四是基于语境图,通过得到一个机器学习系统来评定页面的相关性[8]。
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。