面向分布式的通用网络爬虫系统关键技术研究与实现
发布时间:2021-07-10 10:31
随着互联网的飞速发展,网络上的数据呈指数增长。用户获取信息的一个重要途径就是通过搜索引擎,搜索引擎通过抓取全网数据来为用户提供搜索。中小型的数据抓取需求使用单机爬虫即可满足,然而在遇到大型的数据抓取需求时,为了提高整体网络爬虫系统的性能,需要借助分布式技术,通过有效的分工和多台机器之间的协作来提高抓取效率。现有的分布式网络爬虫框架在扩展性和可用性上不够完善,本文提出的面向分布式的通用网络爬虫系统采用当前较为成熟的分布式技术,使得爬虫系统在数据抓取的各方面都有优异的表现。本文的主要工作如下:1)给出了一种基于历史数据的时效性种子页面调度算法。调度模块是网络爬虫系统的核心模块,调度算法的质量直接影响到整个系统的成本和效率。针对种子页面调度不灵活的问题,提出了基于历史数据的时效性调度算法。同时,利用回归预测算法计算模型后,应用在调度模块中,使得算法在成本、命中率、延时上都获得了比较好的效果。2)给出了一种URL归一化去重的挖掘算法。URL去重是影响网络爬虫性能的另一重要因素,去重可以为系统节约大量的存储空间,并且提高后续使用数据时的检索效率。本文通过对去重模块提出挖掘规则来改善URL归一化的...
【文章来源】:北京工业大学北京市 211工程院校
【文章页数】:79 页
【学位级别】:硕士
【部分图文】:
通用网络爬虫框架
图 2-1 Scrapy 框架结构及数据流图Figure 2-1 Scrapy framework structure and data flow diagram图 2-1 显示了 Scrapy 的架构及其模块的概述,以及系统内部的数据流的概要,下面提供了这些模块的简要说明以及数据流的描述。数据流描述如下:(1)爬虫主引擎得到初始化的请求发送给爬虫模块。(2)引擎调度模块获取到请求准备下次调度。(3)调度模块把请求返回给主引擎。(4)主引擎把请求发送给下载模块,其中经过若干下载中间件。(5)当页面下载完毕后,下载模块生成一个页面的响应并回传给主引擎,也会经过下载中间件。(6)主引擎把响应发送给爬虫模块来处理,其中经过若干爬虫中间件。(7)爬虫处理请求后返回数据和新的响应给主引擎,也会经过爬虫中间件。(8)主引擎把返回的数据集发送给数据处理管道,然后发送新的请求给调度模块。(9)进程重复步骤 1~8 直到调度模块没有新的请求为止。相关模块的描述如下:(1)Scrapy 主引擎负责控制数据流图通过所有其他系统的模块
图 2-2 Nutch 工作流图Figure 2-2 Nutch workflow diagram图 2-2 为 Nutch 的工作流图,各个流程的介绍如下:(1)Injector 负责将 URL 注入到 CrawlDB,这里会清理非正常的 URL,并把抓过的 URL 进行标记防止多次抓取。(2)Generator 负责根据 CrawlDB 创建抓取列表,会创建一个抓取的列表,以文件夹的形式存在,存储于 segments 下面,记录了当前爬虫的进度信息。
【参考文献】:
期刊论文
[1]大数据系统和分析技术综述[J]. 程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰. 软件学报. 2014(09)
[2]一种网络爬虫系统中URL去重方法的研究[J]. 成功,李小正,赵全军. 中国新技术新产品. 2014(12)
[3]国内网页去重技术研究:现状与总结[J]. 李志义,梁士金. 图书情报工作. 2011(07)
[4]基于正文结构和长句提取的网页去重算法[J]. 黄仁,冯胜,杨吉云,刘宇,敖民. 计算机应用研究. 2010(07)
[5]基于泊松过程的爬虫调度策略分析[J]. 徐尚瑜. 现代计算机(专业版). 2009(12)
[6]高性能网络爬虫:研究综述[J]. 周德懋,李舟军. 计算机科学. 2009(08)
[7]基于Bloom Filter的大规模网页去重策略研究[J]. 丁振国,吴宝贵,辛友强. 现代图书情报技术. 2008(03)
[8]一个增量搜集中国W eb的系统模型及其实现[J]. 孟涛,闫宏飞,王继民. 清华大学学报(自然科学版). 2005(S1)
[9]MD5算法在消除重复网页算法中的应用[J]. 彭曙蓉,章兢,杨文忠. 电脑知识与技术. 2005(29)
[10]网格计算中任务调度研究综述[J]. 罗红,慕德俊,邓智群,王晓东. 计算机应用研究. 2005(05)
硕士论文
[1]基于Scrapy的分布式网络爬虫系统设计与实现[D]. 樊宇豪.电子科技大学 2018
[2]网络爬虫技术在云平台上的研究与实现[D]. 刘小云.电子科技大学 2016
[3]基于Storm云平台的分布式网络爬虫技术研究与实现[D]. 付志鸿.电子科技大学 2015
[4]网页正文提取及去重技术研究[D]. 胡金栋.浙江大学 2011
[5]基于Hadoop的分布式爬虫及其实现[D]. 程锦佳.北京邮电大学 2010
本文编号:3275745
【文章来源】:北京工业大学北京市 211工程院校
【文章页数】:79 页
【学位级别】:硕士
【部分图文】:
通用网络爬虫框架
图 2-1 Scrapy 框架结构及数据流图Figure 2-1 Scrapy framework structure and data flow diagram图 2-1 显示了 Scrapy 的架构及其模块的概述,以及系统内部的数据流的概要,下面提供了这些模块的简要说明以及数据流的描述。数据流描述如下:(1)爬虫主引擎得到初始化的请求发送给爬虫模块。(2)引擎调度模块获取到请求准备下次调度。(3)调度模块把请求返回给主引擎。(4)主引擎把请求发送给下载模块,其中经过若干下载中间件。(5)当页面下载完毕后,下载模块生成一个页面的响应并回传给主引擎,也会经过下载中间件。(6)主引擎把响应发送给爬虫模块来处理,其中经过若干爬虫中间件。(7)爬虫处理请求后返回数据和新的响应给主引擎,也会经过爬虫中间件。(8)主引擎把返回的数据集发送给数据处理管道,然后发送新的请求给调度模块。(9)进程重复步骤 1~8 直到调度模块没有新的请求为止。相关模块的描述如下:(1)Scrapy 主引擎负责控制数据流图通过所有其他系统的模块
图 2-2 Nutch 工作流图Figure 2-2 Nutch workflow diagram图 2-2 为 Nutch 的工作流图,各个流程的介绍如下:(1)Injector 负责将 URL 注入到 CrawlDB,这里会清理非正常的 URL,并把抓过的 URL 进行标记防止多次抓取。(2)Generator 负责根据 CrawlDB 创建抓取列表,会创建一个抓取的列表,以文件夹的形式存在,存储于 segments 下面,记录了当前爬虫的进度信息。
【参考文献】:
期刊论文
[1]大数据系统和分析技术综述[J]. 程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰. 软件学报. 2014(09)
[2]一种网络爬虫系统中URL去重方法的研究[J]. 成功,李小正,赵全军. 中国新技术新产品. 2014(12)
[3]国内网页去重技术研究:现状与总结[J]. 李志义,梁士金. 图书情报工作. 2011(07)
[4]基于正文结构和长句提取的网页去重算法[J]. 黄仁,冯胜,杨吉云,刘宇,敖民. 计算机应用研究. 2010(07)
[5]基于泊松过程的爬虫调度策略分析[J]. 徐尚瑜. 现代计算机(专业版). 2009(12)
[6]高性能网络爬虫:研究综述[J]. 周德懋,李舟军. 计算机科学. 2009(08)
[7]基于Bloom Filter的大规模网页去重策略研究[J]. 丁振国,吴宝贵,辛友强. 现代图书情报技术. 2008(03)
[8]一个增量搜集中国W eb的系统模型及其实现[J]. 孟涛,闫宏飞,王继民. 清华大学学报(自然科学版). 2005(S1)
[9]MD5算法在消除重复网页算法中的应用[J]. 彭曙蓉,章兢,杨文忠. 电脑知识与技术. 2005(29)
[10]网格计算中任务调度研究综述[J]. 罗红,慕德俊,邓智群,王晓东. 计算机应用研究. 2005(05)
硕士论文
[1]基于Scrapy的分布式网络爬虫系统设计与实现[D]. 樊宇豪.电子科技大学 2018
[2]网络爬虫技术在云平台上的研究与实现[D]. 刘小云.电子科技大学 2016
[3]基于Storm云平台的分布式网络爬虫技术研究与实现[D]. 付志鸿.电子科技大学 2015
[4]网页正文提取及去重技术研究[D]. 胡金栋.浙江大学 2011
[5]基于Hadoop的分布式爬虫及其实现[D]. 程锦佳.北京邮电大学 2010
本文编号:3275745
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3275745.html
最近更新
教材专著