用于爬虫的数据存储方法及装置制造方法及图纸

技术编号:15329001 阅读:48 留言:0更新日期:2017-05-16 12:46
本发明专利技术公开了一种用于爬虫的数据存储方法及装置。其中,该方法包括:将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;将唯一标识信息发送至存储队列。本发明专利技术解决了由于待存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。

Data storage method and device for crawler

The invention discloses a data storage method and a device for reptiles. Among them, the method comprises the following steps: crawling the file size and the preset threshold are compared; when crawling the file size is greater than or equal to the threshold, will climb from the results stored in the first storage location; unique identification information, generating and crawling results corresponding to the unique identification information for stored in the first storage location of the crawling results were the only index; will only send the information to the store queue ID. The invention solves the technical problem that the distributed crawler system has poor operation stability due to the large amount of data in the queue to be stored.

【技术实现步骤摘要】
用于爬虫的数据存储方法及装置
本专利技术涉及互联网领域,具体而言,涉及一种用于爬虫的数据存储方法及装置。
技术介绍
爬虫程序是一种常见的用于收集网络数据的机器人程序。往往由于需要收集的网络数据众多,所以单个爬虫程序是无法胜任的。目前,为了提升对网络数据进行收集的收集速度,出现了分布式爬虫系统。其中,分布式爬虫系统通过多台部署有爬虫程序的服务器对网络数据进行协作爬取。在分布式爬虫系统中,为了使多台服务器协作爬取,通常会在系统中设置任务队列和存储队列。在实际应用当中,可以预先将配置好的包含有需要爬取的网络地址和爬取行为规则的爬取任务写入到任务队列当中。在通过分布式爬虫系统进行爬取时,每台部署有爬虫程序的服务器会依次从任务队列中获取爬取任务,并根据爬取任务进行爬取。当部署有爬虫程序的服务器获取到爬取结果后,将爬取结果发送至用于存储爬取结果的存储队列当中。最后,再由用于存储数据的存储程序将存储队列中的爬取结果存放至指定位置当中。在上述分布式爬虫系统中存在如下缺点:1、当存储队列中积压数据过多,而导致存储程序崩溃后,将导致数据满载,使分布式爬虫系统无法正常运行。2、将爬取结果直接存储数据库会带来性能损耗,将爬取结果直接存储至存储队列中,会因内存容量有限,影响系统稳定性。针对上述现有技术中由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种用于爬虫的数据存储方法及装置,以至少解决由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。根据本专利技术实施例的一个方面,提供了一种用于爬虫的数据存储方法,包括:将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;将唯一标识信息发送至存储队列。进一步地,在将唯一标识信息发送至存储队列之后,方法还包括:通过存储程序依次从存储队列中读取待存储的数据内容;当存储程序在存储队列中读取到唯一标识信息时,存储程序从第一存储位置获取与唯一标识信息对应的爬取结果;通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置。进一步地,生成与爬取结果对应的唯一标识信息包括:对爬取结果进行压缩处理,得到压缩数据文件;根据压缩数据文件,生成与压缩数据文件对应的唯一标识信息。进一步地,在通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置之前,方法还包括:对压缩数据文件进行解压处理,得到爬取数据文件。进一步地,将唯一标识信息存储至存储队列包括:获取爬取到的爬取结果的爬取时间;根据爬取时间的时间顺序,将爬取结果和/或唯一标识信息依次发送至存储队列。根据本专利技术实施例的另一方面,还提供了一种用于爬虫的数据存储装置,包括:比较模块,用于将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;存储模块,用于当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成模块,用于生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;第一发送模块,用于将唯一标识信息发送至存储队列。进一步地,装置还包括:读取模块,用于通过存储程序依次从存储队列中读取待存储的数据内容;获取模块,用于当存储程序在存储队列中读取到唯一标识信息时,存储程序从第一存储位置获取与唯一标识信息对应的爬取结果;第二发送模块,用于通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置。进一步地,生成模块包括:子压缩模块,用于对爬取结果进行压缩处理,得到压缩数据文件;子生成模块,用于根据压缩数据文件,生成与压缩数据文件对应的唯一标识信息。进一步地,装置还包括:解压模块,用于对压缩数据文件进行解压处理,得到爬取数据文件。进一步地,第二存储模块包括:子获取模块,用于获取爬取到的爬取结果的爬取时间;以及子存储模块,用于根据爬取时间的时间顺序,将爬取结果和/或唯一标识信息依次存储至存储队列。在本专利技术实施例中,采用将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;将唯一标识信息发送至存储队列的方式,达到了减小存储队列占用内存的空间的目的,从而实现了提高分布式爬虫系统稳定性的技术效果,进而解决了由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种用于爬虫的数据存储方法的流程示意图;图2是根据本专利技术实施例的一种优选的用于爬虫的数据存储方法的流程示意图;图3是根据本专利技术实施例的一种用于爬虫的数据存储装置的示意图;图4是根据本专利技术实施例的一种优选的用于爬虫的数据存储装置的示意图;以及图5是根据本专利技术实施例的另一种优选的用于爬虫的数据存储装置的示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。根据本专利技术实施例,提供了一种用于爬虫的数据存储方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本专利技术实施例的用于爬虫的数据存储方法的流程示意图,如图1所示,该方法包括如下步骤:步骤S21,将爬虫的爬取结果的文件大小与预先设置的阈值进行比较。步骤S23,当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置。步骤S25,生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引。步骤S27,将唯一标识信息发送至存储队列。具体的,通过上述步骤S21至步骤S27,首先对分布式爬虫系统获取到的爬取数据文件的文件容量进行判断,当文件容量小于预先设置的阈值时,将爬取数据文件直接存储至存储队列当本文档来自技高网
...
用于爬虫的数据存储方法及装置

【技术保护点】
一种用于爬虫的数据存储方法,其特征在于,包括:将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当所述爬取结果的文件大小大于或等于所述阈值时,将所述爬取结果存储至第一存储位置;生成与所述爬取结果对应的唯一标识信息,其中,所述唯一标识信息用于对存储于所述第一存储位置的爬取结果进行唯一索引;将所述唯一标识信息发送至存储队列。

【技术特征摘要】
1.一种用于爬虫的数据存储方法,其特征在于,包括:将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当所述爬取结果的文件大小大于或等于所述阈值时,将所述爬取结果存储至第一存储位置;生成与所述爬取结果对应的唯一标识信息,其中,所述唯一标识信息用于对存储于所述第一存储位置的爬取结果进行唯一索引;将所述唯一标识信息发送至存储队列。2.根据权利要求1所述的方法,其特征在于,在将所述唯一标识信息发送至存储队列之后,所述方法还包括:通过存储程序依次从所述存储队列中读取待存储的数据内容;当所述存储程序在所述存储队列中读取到所述唯一标识信息时,所述存储程序从所述第一存储位置获取与所述唯一标识信息对应的爬取结果;以及通过所述存储程序将与所述唯一标识信息对应的所述爬取结果发送至第二存储位置。3.根据权利要求2所述的方法,其特征在于,生成与所述爬取结果对应的唯一标识信息包括:对所述爬取结果进行压缩处理,得到压缩数据文件;以及根据所述压缩数据文件,生成与所述压缩数据文件对应的所述唯一标识信息。4.根据权利要求3所述的方法,其特征在于,在通过所述存储程序将与所述唯一标识信息对应的所述爬取结果发送至第二存储位置之前,所述方法还包括:对所述压缩数据文件进行解压处理,得到所述爬取数据文件。5.根据权利要求1至4中任意一项所述的方法,其特征在于,将所述唯一标识信息存储至存储队列包括:获取爬取到的所述爬取结果的爬取时间;以及根据所述爬取时间的时间顺序,将所述爬取结果和/或所述唯一标识信息依次发送至所述存储队列。6.一种...

【专利技术属性】
技术研发人员:杨杰
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1