基于分布式的网络爬虫系统的研究与实现

来源 :电子科技大学 | 被引量 : 17次 | 上传用户:naughty009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着大数据时代的到来,数据的价值越来越受到人们的重视。海量的网络新闻数据具有巨大的商业价值和研究价值,可以通过网络爬虫爬取网络新闻数据。传统的单机网络爬虫不能爬取每天新增的大量网络新闻。现有的爬虫框架大多数不支持分布式爬取,已有的分布式爬虫框架通常是为搜索引擎设计的,难以修改框架满足特定的需求。因此本文设计并实现了一个基于分布式的网络爬虫系统,用于爬取新闻网站上的新闻数据。本文的主要工作如下:(1)结合Storm流计算框架和Scrapy爬虫框架,设计并实现分布式网络爬虫系统。Scrapy爬虫框架不支持分布式爬取,本文在Storm分布式平台上运行Scrapy爬虫进程,实现网络爬虫的分布式爬取。Trident是对Storm的高级抽象,不仅支持以数据流的方式处理数据,而且支持以批处理的方式处理数据。本文采用Trident框架实现Storm分布式平台,以流处理和批处理的方式处理URL。(2)提出基于多布隆过滤器的URL去重算法。布隆过滤器是由一个很长的二进制位数组和一系列随机均匀分布的哈希函数组成,可以检测一个元素是否存在于集合中。布隆过滤器具有误识别率,将不属于集合的元素判定为属于。本文通过使用多个布隆过滤器降低误识别率,对URL进行去重处理。通过测试表明误识别率随着本算法使用的布隆过滤器个数的增加而下降。(3)提出基于优先级的广度优先爬行策略。广度优先爬行策略将新闻网站上的网页分为不同的层次,爬取完同一层的所有网页后,才爬取下一层的网页。该策略实现比较简单,主要采用一个先进先出(FIFO)结构的URL队列。本文将URL的类型分为三种,对不同类型的URL设定不同的优先级,设计一个同时具有优先级和先进先出性质的URL队列,实现基于优先级的广度优先爬行策略。(4)以递归爬取方式提取非结构化数据。提取非结构化数据的技术有三种:正则表达式,BeautifulSoup和Xpath表达式。爬取完整的评论数据通常需要发送若干个HTTP请求,本文以递归爬取方式爬取到完整的评论数据,将评论数据作为新闻数据的一个数组类型字段,最后将新闻数据以文档的形式保存到MongoDB数据库中。最后,本文对分布式网络爬虫系统进行了功能测试和性能测试,验证了通过增加爬虫数,可以提高网络爬虫的爬取速度。
其他文献
中国和西欧耕作制度发展史,既有其相同之处,也有其不同之点。其相同之点是,它们都经历过原始农业时期的撂荒耕作制度和轮荒耕作制度阶段。其不同之处是,在撂荒耕作制和轮荒耕
柏拉图的哲学思想贯穿欧洲哲学的始终。公元前三世纪以普罗提诺为首建立新柏拉图主义,对本体论、灵魂观进行充分阐释。文艺复兴时期,新柏拉图主义也在美迪奇家族的支持、费奇
8月15日,印度总理莫迪在印度独立72周年的庆祝活动上发表讲话时表示,要在2022年前实现印度首次载人航天任务。未来4年,印度为了首次载人航天任务成功,将投入900亿印度卢比(88
报纸
实现西部经济大发展,经济工业化和现代化的关键之一是是否筹措到必须的巨额资金并合理有效地运用这些资金。对中国中西部地区而言,工农业的发展需要消费更多的能源和原材料,而自
对紫外分光光度法测定水和废水中硫化物的方法进行了研究 ,试验了稳定时间、干扰物质、碱溶液浓度对测定的影响 ,提出了最佳测定条件。该方法检测限为 0 0 4mg/L ,相对标准
本文对小学数学课程标准中"课程设计思路"进行了剖析,对课程内容学习与课程目标有机关联起来的8个核心概念进行利阐述,与大家商讨。
绿色发展已成为当前韩国社会的核心价值观,向绿色发展转型意味着技能培养方面的变化。通过在职业教育与培训项目中增加相关的绿色技能培养内容,可以满足绿色发展对于职业技能
<正>柴油发动机是柴油压燃着火,即柴油达到330℃自然温度后自然着火。这一温度是靠气缸压缩获得的,所以要求气缸内有足够的压缩比,并在压缩将近终了、温度最高时,向气缸内喷
作者通过对甘肃省苹果主产区近几年腐烂病发生率上升状况的研究,结合苹果产区生产管理现状进行调查分析,结果表明,影响甘肃省苹果产区腐烂病发病率上升的原因主要有不合理负
环境艺术设计是在考虑整体空间布局合理性的基础上,对其赋予审美意义和时代内涵。目的是通过设计使技术性和艺术性得到最大限度的统一。因此探究环境艺术设计的艺术性特征和