论文部分内容阅读
近年来,随着互联网的进一步普及,电子商务一直保持着高速的增长状态,它不仅改变了人们的生活方式,还有力的推动经济的全球化进程。随着人们生活节奏加快以及对数据的实时性要求越来越高,面对网上海量的产品舆情信息,传统的网络爬虫在数据实时获取方面显得越来越乏力,同时也不能在扩展性上获得比较好的效果。 针对如何尽早地获取电商网站中产品的信息,进而实时的把握产品舆情,提出了一种基于Storm的实时信息采集方法。本文首先对电商网站的总体特征进行详细分析,然后重点研究了基于Storm的分布式爬虫、采集策略、以及网页变化时间预测方法这三个方面。 (1)对于基于Storm的分布式网络爬虫,在研究流式计算框架Storm和相关技术的基础上,充分利用其分布式、实时性、无数据丢失、可扩展性强等优势,设计并实现了一个基Storm的分布式网络爬虫,极大的提高了爬虫的采集效率。 (2)在采集策略方面,通过对电商网站特点分析发现,为了方便管理和用户检索,电商网站通常会对商品进行分层来存储。为了能尽可能的搜集到电商网站中所有商品对应的链接,我们首先根据层数来对电商网站中的URL进行分类,然后通过一种基于URL分类的广度优先搜索策略对商品的链接进行搜集;为了使商品信息一直都保持在比较新的状态,我们首先根据URL对应的网页的更新频率大小对URL进行分类,然后通过一种基于URL分类预测的增量采集策略来维护商品信息库。 (3)对于网页变化预测方面,为了提高数据获取的实时性,分别对不同类型的网页变化规律进行建模,然后通过相应的算法预测网页的下一次更新时间来实现数据的实时采集。 最后,本文以基于Storm的分布式网络爬虫和网页变化预测算法为理论基础,提出了一个基于Storm的分布式实时采集系统构建方案,简称RICS系统,并给出系统整体架构和原型。通过与开源的Nutch分布式爬虫性能测试对比,发现基于Storm的分布式爬虫采集效率更高;通过对基于Storm分布式爬虫水平扩展测试,发现其有优秀的扩展能力;通过对京东、淘宝、苏宁电商网站网页的增量采集实验验证了网页变化预测算法的有效性。