一种基于内容分析的web数据采集方法

文档序号:9667356阅读:132来源:国知局
一种基于内容分析的web数据采集方法
【技术领域】
[0001]本发明公开一种基于内容分析的web数据采集方法,属于数据管理领域。
【背景技术】
[0002]互联网的规模不断扩大,在互联网这个大平台上的信息量正指数级的增长。所以在互联网上形成了一个包含海量数据的信息库。一直以来,人们都在致力于如何在互联网浩瀚的信息中迅速的找到网络用户所需要的信息。使得网络数据采集面临着巨大的挑战。传统单机的网络数据采集方式已经无法满足网络用户的需求,分布式网络采集系统应运而生。但是对于分布式系统而言,存在集群内节点之间底层通信和任务同步等技术问题,不能更好地利用分布式特点进行网络数据采集,本发明提供一种基于内容分析的web数据采集方法,伴随着内容分析理论的日趋完善,基于内容分析利用分布式系统,为内容分析提供基础设施,用户不必了解分布式系统应用水平的细节,就能充分利用集群的功能,高速运算和存储,进行网络数据采集和应用。同时,利用互网络数据采集可以爬取网络上所有资源的程序。从网站首页开始,爬取网页的内容,之后解析网页上的超链接,通过这些链接地址寻找下一个网页,进行循环,直到把网站所有的网页都抓取完成。
[0003]MapReduce是一种编程模型,用于大规模数据集的并行运算。包括Map和Reduce,及它们的主要思想,方便编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。软件实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有映射的键值对中的每一个共享相同的键组。

【发明内容】

[0004]本发明针对现有技术中分布式系统存在集群内节点之间底层通信和任务同步等技术问题,不能更好地利用分布式特点进行网络数据采集的问题,提供一种基于内容分析的web数据采集方法,基于内容分析利用分布式系统,为内容分析提供基础设施,同时,利用互网络数据采集可以爬取网络上所有资源的程序,更好地利用分布式特点进行网络数据米集。
[0005]本发明提出的具体方案是:
一种基于内容分析的web数据采集方法,具体步骤为
①从HDFS待采集的网页URL库中获取待爬取URL集,对输入进来的URL级执行Split过程,将URL集合分片,分别送到集群各个节点上执行Map操作,将采集来的原始网页进行网页存储;
②从临时文件获取键值对,执行Reduce操作,从原始网页库中取出原始网页,进行解析,提取出新的URL然后存储进链出URL库;
③将从HDFS获取原始网页作为参数输入,执行Split过程将输入原始网页分片,将各个分片分配到各节点执行Map操作;已采集的URL从链出URL库获得新URL ;
④获取解析出的URL,通过与已采集URL库做比较,过滤掉已经爬取过的网页,将符合条件的集合输出到HDFS ;
⑤判断是否符合结束条件,如果符合,结束程序,如果不符合,将过滤后符合条件的URL存入待采集URL库,网页抓取模块继续抓取,循环执行。
[0006]所述步骤①中将URL集合分片,分别送到集群各个节点上,利用MapReduce进行Map操作。
[0007]所述步骤②中利用MapReduce执行Reduce操作。
[0008]所述步骤③中将原始网页的各个分片分配到各节点利用MapReduce执行Map操作。
[0009]所述步骤④中利用MapReduce执行Reduce操作,获取解析出的URL。
[0010]本发明的有益之处是:
本发明提供一种基于内容分析的web数据采集方法,首先获取待爬取URL集,将URL集合分片,分别送到集群各个节点上执行Map操作,将采集来的原始网页进行网页存储;从临时文件获取键值对,执行Reduce操作,从原始网页库中取出原始网页,进行解析,提取出新的URL然后存储进链出URL库;将从HDFS获取原始网页作为参数输入,将输入原始网页分片,将各个分片分配到各节点执行Map操作;已采集的URL从链出URL库获得新URL ;获取解析出的URL,通过与已采集URL库做比较,过滤掉已经爬取过的网页,将符合条件的集合输出到HDFS ;最后判断是否符合结束条件,循环执行;本发明基于内容分析利用分布式系统,为内容分析提供基础设施,同时,利用互网络数据采集可以爬取网络上所有资源的程序,更好地利用分布式特点进行网络数据采集。
【附图说明】
[0011 ] 图1本发明方法流程示意图。
【具体实施方式】
[0012]—种基于内容分析的web数据采集方法,具体步骤为
①从HDFS待采集的网页URL库中获取待爬取URL集,对输入进来的URL级执行Split过程,将URL集合分片,分别送到集群各个节点上执行Map操作,将采集来的原始网页进行网页存储;
②从临时文件获取键值对,执行Reduce操作,从原始网页库中取出原始网页,进行解析,提取出新的URL然后存储进链出URL库;
③将从HDFS获取原始网页作为参数输入,执行Split过程将输入原始网页分片,将各个分片分配到各节点执行Map操作;已采集的URL从链出URL库获得新URL ;
④获取解析出的URL,通过与已采集URL库做比较,过滤掉已经爬取过的网页,将符合条件的集合输出到HDFS ;
⑤判断是否符合结束条件,如果符合,结束程序,如果不符合,将过滤后符合条件的URL存入待采集URL库,网页抓取模块继续抓取,循环执行。
[0013]根据上述方法,结合附图对本发明做进一步说明。
[0014]—种基于内容分析的web数据采集方法,具体步骤为
①从HDFS待采集的网页URL库中获取待爬取URL集,对输入进来的URL级执行Split过程,将URL集合分片,将URL集合分片成一条条URL,分别送到集群各个节点上利用MapReduce进行Map操作,将采集来的原始网页进行网页存储;另一方面将采集来的原始网页传递给网页存储模块;
②从临时文件获取〈key,value)键值对,利用MapReduce执行Reduce操作,从原始网页库中取出原始网页,进行解析,提取出新的URL然后存储进链出URL库;
③将从HDFS获取原始网页作为参数输入,执行Split过程将输入原始网页分片,将各个分片分配到各节点利用MapReduce执行Map操作;已采集的URL从链出URL库获得新URL ;
④利用MapReduce执行Reduce操作,获取解析出的URL,主要针对为防止网络之间的环路而造成的循环爬取的问题,通过与已采集URL库做比较,过滤掉已经爬取过的网页,将符合条件的集合输出到HDFS ;
⑤判断是否符合结束条件,如果符合,结束程序,如果不符合,将过滤后符合条件的URL存入待采集URL库,网页抓取模块继续抓取,循环执行。
【主权项】
1.一种基于内容分析的web数据采集方法,其特征在于具体步骤为 ①从HDFS待采集的网页URL库中获取待爬取URL集,对输入进来的URL级执行Split过程,将URL集合分片,分别送到集群各个节点上执行Map操作,将采集来的原始网页进行网页存储; ②从临时文件获取键值对,执行Reduce操作,从原始网页库中取出原始网页,进行解析,提取出新的URL然后存储进链出URL库; ③将从HDFS获取原始网页作为参数输入,执行Split过程将输入原始网页分片,将各个分片分配到各节点执行Map操作;已采集的URL从链出URL库获得新URL ; ④获取解析出的URL,通过与已采集URL库做比较,过滤掉已经爬取过的网页,将符合条件的集合输出到HDFS ; ⑤判断是否符合结束条件,如果符合,结束程序,如果不符合,将过滤后符合条件的URL存入待采集URL库,网页抓取模块继续抓取,循环执行。2.根据权利要求1所述的一种基于内容分析的web数据采集方法,其特征在于所述步骤①中将URL集合分片,分别送到集群各个节点上,利用MapReduce进行Map操作。3.根据权利要求2所述的一种基于内容分析的web数据采集方法,其特征在于所述步骤②中利用MapReduce执行Reduce操作。4.根据权利要求1或3所述的一种基于内容分析的web数据采集方法,其特征在于所述步骤③中将原始网页的各个分片分配到各节点利用MapReduce执行Map操作。5.根据权利要求4所述的一种基于内容分析的web数据采集方法,其特征在于所述步骤④中利用MapReduce执行Reduce操作,获取解析出的URL。
【专利摘要】本发明公开一种基于内容分析的web数据采集方法,属于数据管理领域;本发明获取待爬取URL集,将URL集合分片,分别送到集群各个节点上执行Map操作;从临时文件获取键值对,执行Reduce操作,从原始网页库中取出原始网页,进行解析,提取出新的URL然后存储进链出URL库;将从HDFS获取原始网页作为参数输入,将输入原始网页分片,将各个分片分配到各节点执行Map操作;获取解析出的URL与已采集URL库做比较,过滤掉已经爬取过的网页,将符合条件的集合输出到HDFS;最后判断是否符合结束条件,循环执行;本发明更好地利用分布式特点进行网络数据采集。
【IPC分类】G06F17/30
【公开号】CN105426407
【申请号】CN201510730014
【发明人】武斌, 张志华
【申请人】浪潮软件集团有限公司
【公开日】2016年3月23日
【申请日】2015年11月2日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1