CN106648445B - 用于网络爬虫的数据存储方法及装置 - Google Patents

用于网络爬虫的数据存储方法及装置 Download PDF

Info

Publication number
CN106648445B
CN106648445B CN201510729369.0A CN201510729369A CN106648445B CN 106648445 B CN106648445 B CN 106648445B CN 201510729369 A CN201510729369 A CN 201510729369A CN 106648445 B CN106648445 B CN 106648445B
Authority
CN
China
Prior art keywords
storage
identification information
unique identification
crawling
crawling result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510729369.0A
Other languages
English (en)
Other versions
CN106648445A (zh
Inventor
杨杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510729369.0A priority Critical patent/CN106648445B/zh
Publication of CN106648445A publication Critical patent/CN106648445A/zh
Application granted granted Critical
Publication of CN106648445B publication Critical patent/CN106648445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

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

Description

用于网络爬虫的数据存储方法及装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种用于网络爬虫的数据存储方法及装置。
背景技术
爬虫程序是一种常见的用于收集网络数据的机器人程序。往往由于需要收集的网络数据众多,所以单个爬虫程序是无法胜任的。
目前,为了提升对网络数据进行收集的收集速度,出现了分布式爬虫系统。其中,分布式爬虫系统通过多台部署有爬虫程序的服务器对网络数据进行协作爬取。在分布式爬虫系统中,为了使多台服务器协作爬取,通常会在系统中设置任务队列和存储队列。
在实际应用当中,可以预先将配置好的包含有需要爬取的网络地址和爬取行为规则的爬取任务写入到任务队列当中。在通过分布式爬虫系统进行爬取时,每台部署有爬虫程序的服务器会依次从任务队列中获取爬取任务,并根据爬取任务进行爬取。当部署有爬虫程序的服务器获取到爬取结果后,将爬取结果发送至用于存储爬取结果的存储队列当中。最后,再由用于存储数据的存储程序将存储队列中的爬取结果存放至指定位置当中。
在上述分布式爬虫系统中存在如下缺点:
1、当存储队列中积压数据过多,而导致存储程序崩溃后,将导致数据满载,使分布式爬虫系统无法正常运行。
2、将爬取结果直接存储数据库会带来性能损耗,将爬取结果直接存储至存储队列中,会因内存容量有限,影响系统稳定性。
针对上述现有技术中由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种用于网络爬虫的数据存储方法及装置,以至少解决由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。
根据本发明实施例的一个方面,提供了一种用于网络爬虫的数据存储方法,包括:将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;将唯一标识信息发送至存储队列。
进一步地,在将唯一标识信息发送至存储队列之后,方法还包括:通过存储程序依次从存储队列中读取待存储的数据内容;当存储程序在存储队列中读取到唯一标识信息时,存储程序从第一存储位置获取与唯一标识信息对应的爬取结果;通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置。
进一步地,生成与爬取结果对应的唯一标识信息包括:对爬取结果进行压缩处理,得到压缩数据文件;根据压缩数据文件,生成与压缩数据文件对应的唯一标识信息。
进一步地,在通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置之前,方法还包括:对压缩数据文件进行解压处理,得到爬取数据文件。
进一步地,将唯一标识信息存储至存储队列包括:获取爬取到的爬取结果的爬取时间;根据爬取时间的时间顺序,将爬取结果和/或唯一标识信息依次发送至存储队列。
根据本发明实施例的另一方面,还提供了一种用于网络爬虫的数据存储装置,包括:比较模块,用于将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;存储模块,用于当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成模块,用于生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;第一发送模块,用于将唯一标识信息发送至存储队列。
进一步地,装置还包括:读取模块,用于通过存储程序依次从存储队列中读取待存储的数据内容;获取模块,用于当存储程序在存储队列中读取到唯一标识信息时,存储程序从第一存储位置获取与唯一标识信息对应的爬取结果;第二发送模块,用于通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置。
进一步地,生成模块包括:子压缩模块,用于对爬取结果进行压缩处理,得到压缩数据文件;子生成模块,用于根据压缩数据文件,生成与压缩数据文件对应的唯一标识信息。
进一步地,装置还包括:解压模块,用于对压缩数据文件进行解压处理,得到爬取数据文件。
进一步地,第二存储模块包括:子获取模块,用于获取爬取到的爬取结果的爬取时间;以及子存储模块,用于根据爬取时间的时间顺序,将爬取结果和/或唯一标识信息依次存储至存储队列。
在本发明实施例中,采用将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;将唯一标识信息发送至存储队列的方式,达到了减小存储队列占用内存的空间的目的,从而实现了提高分布式爬虫系统稳定性的技术效果,进而解决了由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种用于网络爬虫的数据存储方法的流程示意图;
图2是根据本发明实施例的一种优选的用于网络爬虫的数据存储方法的流程示意图;
图3是根据本发明实施例的一种用于网络爬虫的数据存储装置的示意图;
图4是根据本发明实施例的一种优选的用于网络爬虫的数据存储装置的示意图;以及
图5是根据本发明实施例的另一种优选的用于网络爬虫的数据存储装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种用于网络爬虫的数据存储方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的用于网络爬虫的数据存储方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S21,将爬虫的爬取结果的文件大小与预先设置的阈值进行比较。
步骤S23,当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置。
步骤S25,生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引。
步骤S27,将唯一标识信息发送至存储队列。
具体的,通过上述步骤S21至步骤S27,首先对分布式爬虫系统获取到的爬取数据文件的文件容量进行判断,当文件容量小于预先设置的阈值时,将爬取数据文件直接存储至存储队列当中,等待上传至服务器。当文件容量大于或等于预先设置的阈值时,生成与爬取数据文件唯一对应的索引信息。将爬取数据文件存储值预先设置的第一存储位置,将与其对应的索引信息存储至存储队列当中。达到了减小存储队列占用内存的空间的目的,从而实现了提高分布式爬虫系统运行稳定性的技术效果,进而解决了由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。
作为一种可选的实施方式,在实际应用当中,以分布式爬虫系统为例进行说明。在分布式爬虫系统中,为了均衡各台爬虫服务器的负载,通常会设置用于派发爬取任务的任务队列和用于临时存储爬取数据文件的存储队列。为了避免存储队列中因数据积压,而导致的存储容量不足的问题,可以预先设置一个缓存服务器。当分布式爬虫系统获取到爬取数据文件后,将爬取数据文件的文件容量与预先设置的阈值进行比对,判断爬取数据文件是否需要转存至缓存服务器当中。当确定爬取数据文件大于阈值时,生成与其对应的索引信息,并将爬取数据文件转存至缓存服务器当中,将索引信息存储至存储队列当中。
作为一种可选的实施方式,当第一存储位置为FTP服务器时,在索引信息中,至少包括与爬取数据文件对应的文件索引以及与爬取数据文件对应的存储路径。当然,第一存储位置还可以包括除FTP服务器以外任意一种用于数据存储的服务器类型或本地存储,此处不做赘述。
作为一种可选的实施方式,如图2所示,在步骤S27在将唯一标识信息发送至存储队列之后,上述方法还包括:
步骤S28,通过存储程序依次从存储队列中读取待存储的数据内容。
步骤S30,当存储程序在存储队列中读取到唯一标识信息时,存储程序从第一存储位置获取与唯一标识信息对应的爬取结果。
步骤S32,通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置。
具体的,通过步骤S28至步骤S32,通过存储程序依次对存储队列中的数据内容进行读取。在读取过程中,首先对读取到的数据内容的类型进行判断。当确定数据内容为爬取到的数据文件时,直接将数据文件发送至第二存储位置当中进行存储。当确定数据内容为唯一标识信息时,通过唯一标识信息中的存储路径以及文件索引,从第一存储位置获取到与索引信息对应的数据文件,并将该数据文件发送至第二存储位置当中进行存储。
其中,索引信息可以为爬取到的数据文件的文件名称,也可以是爬取到的数据文件获取的时间信息,当然还可以是根据爬取数据文件的名称,通过算法计算得到的十六位进制的文件索引。此处不对索引信息的具体实施方式进行具体限定。
作为一种可选的实施方式,在步骤S25生成与爬取结果对应的唯一标识信息中,步骤可以包括:
步骤S251,对爬取结果进行压缩处理,得到压缩数据文件。
步骤S253,根据压缩数据文件,生成与压缩数据文件对应的唯一标识信息。
具体的,为了进一步降低对存储空间的需求,通过步骤S251至步骤S253对文件容量大于阈值的爬取数据文件进行压缩处理,并根据压缩得到的压缩数据文件生成对应的索引信息。进而将压缩得到的压缩数据文件存储至第一存储位置,将索引信息存储至存储队列当中。
作为一种可选的实施方式,在步骤S32通过存储程序将与唯一标识对应的爬取结果发送至第二存储位置之前,上述方法还可以包括:
步骤S31,对压缩数据文件进行解压处理,得到爬取数据文件。
具体的,在将爬取数据文件存储至第二存储位置之前,通过步骤S34对存储于第一存储位置的压缩数据文件进行解压处理,从而得到原始的爬取数据文件。
作为一种可选的实施方式,在步骤S27将唯一标识信息存储至存储队列中,步骤可以包括:
步骤S271,获取爬取到的爬取结果的爬取时间。
步骤S273,根据爬取时间的时间顺序,将爬取结果和/或唯一标识信息依次发送至存储队列。
具体的,通过步骤S271至步骤S273,按照爬取数据文件爬取时间的时间顺序,依次将索引信息存储至存储队列当中。
在实际应用当中,以分布式爬虫系统为例进行说明。在分布式爬虫系统中,通常会包含有多台爬虫服务器对网络数据进行协同爬取。为了保证爬取到的爬取数据文件可以按顺序存储至数据库当中,可以设置用于缓存爬取数据文件的带存储队列。各台爬虫服务器,可以按照获取到爬取数据文件的获取时间,依次将爬取到的爬取数据文件或者索引信息依次存储至存储队列当中。
作为一种优选的实施方式,对爬取数据文件进行筛选的过程,以及将存储队列中的内容上传至数据库中的过程,分别进行说明。
其中,在对爬取数据文件进行筛选的过程中,步骤可以包括:
步骤S1,获取爬取任务。
步骤S2,分布式爬虫系统中的爬虫服务器在爬取得到爬取数据文件。
步骤S3,将爬取数据文件与配置信息中的最大文件大小的阈值进行比对,如果超过阈值则对爬取数据文件进行压缩。
步骤S4,根据压缩后的爬取数据文件生成与爬取数据文件唯一对应的ID标识,并将ID标识记录在待存储任务信息当中。然后,将包含有ID标识的待存储任务信息发送至存储消息队列中进行修改存储。最后,将压缩后的爬取数据文件上传至FTP服务器进行暂存处理。
在将存储队列中的内容上传至数据库中的过程中,步骤可以包括:
步骤S1,读取存储队列中的待存储任务信息。
步骤S2,对读取的待存储任务信息的类型进行判断。
步骤S3,当待存储任务信息的类型ID标识时,从FTP服务器中下载并对爬取数据文件进行解压处理。
步骤S4,将解压后的爬取数据文件存储至数据库当中。
步骤S5,否则,当待存储任务信息的类型为爬取数据文件时,直接将该爬取数据文件存储至数据库当中。
本发明实施例还提供了一种用于网络爬虫的数据存储装置。其中,需要说明的是,本发明实施例的用于网络爬虫的数据存储装置可以用于执行本发明实施例所提供的用于网络爬虫的数据存储方法,本发明实施例的用于网络爬虫的数据存储方法也可以通过本发明实施例所提供的用于网络爬虫的数据存储装置来执行。
图3是根据本发明实施例的用于网络爬虫的数据存储装置的结构示意图。如图3所示,该装置包括:比较模块21、存储模块23、生成模块25和第一发送模块27。
其中,比较模块21,用于将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;存储模块23,用于当爬取结果的文件大小大于或等于阈值时,将爬取结果存储至第一存储位置;生成模块25,用于生成与爬取结果对应的唯一标识信息,其中,唯一标识信息用于对存储于第一存储位置的爬取结果进行唯一索引;第一发送模块27,用于将唯一标识信息发送至存储队列。
具体的,通过上述比较模块21、存储模块23、生成模块25和第一发送模块27,首先对分布式爬虫系统获取到的爬取数据文件的文件容量进行判断,当文件容量小于预先设置的阈值时,将爬取数据文件直接存储至存储队列当中,等待上传至服务器。当文件容量大于或等于预先设置的阈值时,生成与爬取数据文件唯一对应的索引信息。将爬取数据文件存储值预先设置的第一存储位置,将与其对应的索引信息存储至存储队列当中。达到了减小存储队列占用内存的空间的目的,从而实现了提高分布式爬虫系统运行稳定性的技术效果,进而解决了由于存储队列中数据量过大,导致的分布式爬虫系统运行稳定性差的技术问题。
作为一种可选的实施方式,在实际应用当中,以分布式爬虫系统为例进行说明。在分布式爬虫系统中,为了均衡各台爬虫服务器的负载,通常会设置用于派发爬取任务的任务队列和用于临时存储爬取数据文件的存储队列。为了避免存储队列中因数据积压,而导致的存储容量不足的问题,可以预先设置一个缓存服务器。当分布式爬虫系统获取到爬取数据文件后,将爬取数据文件的文件容量与预先设置的阈值进行比对,判断爬取数据文件是否需要转存至缓存服务器当中。当确定爬取数据文件大于阈值时,生成与其对应的索引信息,并将爬取数据文件转存至缓存服务器当中,将索引信息存储至存储队列当中。
作为一种可选的实施方式,当第一存储位置为FTP服务器时,在索引信息中,至少包括与爬取数据文件对应的文件索引以及与爬取数据文件对应的存储路径。当然,第一存储位置还可以包括除FTP服务器以外任意一种用于数据存储的服务器类型或本地存储,此处不做赘述。
作为一种可选的实施方式,如图4所示,上述装置还可以包括:读取模块28、获取模块30和第二发送模块32。
其中,读取模块28,用于通过存储程序依次从存储队列中读取待存储的数据内容;
获取模块30,用于当存储程序在存储队列中读取到唯一标识信息时,存储程序从第一存储位置获取与唯一标识信息对应的爬取结果;
第二发送模块32,用于通过存储程序将与唯一标识信息对应的爬取结果发送至第二存储位置。
具体的,通过上述读取模块28、获取模块30和第二发送模块32,通过存储程序依次对存储队列中的数据内容进行读取。在读取过程中,首先对读取到的数据内容的类型进行判断。当确定数据内容为爬取到的数据文件时,直接将数据文件发送至第二存储位置当中进行存储。当确定数据内容为唯一标识信息时,通过唯一标识信息中的存储路径以及文件索引,从第一存储位置获取到与索引信息对应的数据文件,并将该数据文件发送至第二存储位置当中进行存储。
其中,索引信息可以为爬取到的数据文件的文件名称,也可以是爬取到的数据文件获取的时间信息,当然还可以是根据爬取数据文件的名称,通过算法计算得到的十六位进制的文件索引。此处不对索引信息的具体实施方式进行具体限定。
作为一种可选的实施方式,上述生成模块25包括:子压缩模块251和子生成模块253。
其中,子压缩模块251,用于对爬取结果进行压缩处理,得到压缩数据文件;
子生成模块253,用于根据压缩数据文件,生成与压缩数据文件对应的唯一标识信息。
具体的,为了进一步降低对存储空间的需求,通过上述子压缩模块251和子生成模块253对文件容量大于阈值的爬取数据文件进行压缩处理,并根据压缩得到的压缩数据文件生成对应的索引信息。进而将压缩得到的压缩数据文件存储至第一存储位置,将索引信息存储至存储队列当中。
作为一种可选的实施方式,如图5所示,上述装置还可以包括:解压模块31。
其中,解压模块31,用于对压缩数据文件进行解压处理,得到爬取数据文件。
具体的,在将爬取数据文件存储至第二存储位置之前,通过上述解压模块31对存储于第一存储位置的压缩数据文件进行解压处理,从而得到原始的爬取数据文件。
作为一种可选的实施方式,在上述存储模块27中可以包括:子获取模块271和子存储模块273。
其中,子获取模块271,用于获取爬取到的爬取结果的爬取时间;
子存储模块273,用于根据爬取时间的时间顺序,将爬取结果和/或唯一标识信息依次存储至存储队列。
具体的,通过上述子获取模块271和子存储模块273,按照爬取数据文件爬取时间的时间顺序,依次将索引信息存储至存储队列当中。
在实际应用当中,以分布式爬虫系统为例进行说明。在分布式爬虫系统中,通常会包含有多台爬虫服务器对网络数据进行协同爬取。为了保证爬取到的爬取数据文件可以按顺序存储至数据库当中,可以设置用于缓存爬取数据文件的带存储队列。各台爬虫服务器,可以按照获取到爬取数据文件的获取时间,依次将爬取到的爬取数据文件或者索引信息依次存储至存储队列当中。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种用于爬虫的数据存储方法,其特征在于,包括:
将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;
当所述爬取结果的文件大小大于或等于所述阈值时,将所述爬取结果存储至第一存储位置;
生成与所述爬取结果对应的唯一标识信息,其中,所述唯一标识信息用于对存储于所述第一存储位置的爬取结果进行唯一索引;
将所述唯一标识信息发送至存储队列;
当所述爬取结果的文件大小小于所述阈值时,将所述爬取结果存储至所述存储队列中;
将所述唯一标识信息存储至存储队列包括:获取爬取到的所述爬取结果的爬取时间;以及根据所述爬取时间的时间顺序,将所述爬取结果或所述唯一标识信息依次发送至所述存储队列;
在将所述唯一标识信息发送至存储队列之后,所述方法还包括:通过存储程序依次从所述存储队列中读取待存储的数据内容;当所述存储程序在所述存储队列中读取到所述唯一标识信息时,所述存储程序从所述第一存储位置获取与所述唯一标识信息对应的爬取结果;以及通过所述存储程序将与所述唯一标识信息对应的所述爬取结果发送至第二存储位置。
2.根据权利要求1所述的方法,其特征在于,生成与所述爬取结果对应的唯一标识信息包括:
对所述爬取结果进行压缩处理,得到压缩数据文件;以及
根据所述压缩数据文件,生成与所述压缩数据文件对应的所述唯一标识信息。
3.根据权利要求2所述的方法,其特征在于,在通过所述存储程序将与所述唯一标识信息对应的所述爬取结果发送至第二存储位置之前,所述方法还包括:
对所述压缩数据文件进行解压处理,得到爬取数据文件。
4.一种用于爬虫的数据存储装置,其特征在于,包括:
比较模块,用于将爬虫的爬取结果的文件大小与预先设置的阈值进行比较;
存储模块,用于当所述爬取结果的文件大小大于或等于所述阈值时,将所述爬取结果存储至第一存储位置;
生成模块,用于生成与所述爬取结果对应的唯一标识信息,其中,所述唯一标识信息用于对存储于所述第一存储位置的爬取结果进行唯一索引;
第一发送模块,用于将所述唯一标识信息发送至存储队列;
所述装置还用于当所述爬取结果的文件大小小于所述阈值时,将所述爬取结果存储至所述存储队列中;
第二存储模块包括:子获取模块,用于获取爬取到的所述爬取结果的爬取时间;以及子存储模块,用于根据所述爬取时间的时间顺序,将所述爬取结果或所述唯一标识信息依次存储至所述存储队列;
读取模块,用于通过存储程序依次从所述存储队列中读取待存储的数据内容;
获取模块,用于当所述存储程序在所述存储队列中读取到所述唯一标识信息时,所述存储程序从所述第一存储位置获取与所述唯一标识信息对应的爬取结果;以及
第二发送模块,用于通过所述存储程序将与所述唯一标识信息对应的所述爬取结果发送至第二存储位置。
5.根据权利要求4所述的装置,其特征在于,所述生成模块包括:
子压缩模块,用于对所述爬取结果进行压缩处理,得到压缩数据文件;以及
子生成模块,用于根据所述压缩数据文件,生成与所述压缩数据文件对应的所述唯一标识信息。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
解压模块,用于对所述压缩数据文件进行解压处理,得到爬取数据文件。
CN201510729369.0A 2015-10-30 2015-10-30 用于网络爬虫的数据存储方法及装置 Active CN106648445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510729369.0A CN106648445B (zh) 2015-10-30 2015-10-30 用于网络爬虫的数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510729369.0A CN106648445B (zh) 2015-10-30 2015-10-30 用于网络爬虫的数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN106648445A CN106648445A (zh) 2017-05-10
CN106648445B true CN106648445B (zh) 2020-07-03

Family

ID=58809319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510729369.0A Active CN106648445B (zh) 2015-10-30 2015-10-30 用于网络爬虫的数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN106648445B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451261B (zh) * 2017-07-31 2020-06-09 广州探迹科技有限公司 一种基于对象存储的爬虫网络路径追踪方法
CN107943858A (zh) * 2017-11-07 2018-04-20 广州探迹科技有限公司 一种爬虫系统io优化方法及装置
CN110955853A (zh) * 2018-09-26 2020-04-03 北京国双科技有限公司 一种数据存储方法及装置
CN110333980A (zh) * 2019-05-24 2019-10-15 深圳壹账通智能科技有限公司 网络爬虫系统的测试方法及装置、存储介质、电子设备
CN111339390A (zh) * 2020-02-27 2020-06-26 深圳市云智融科技有限公司 一种基于固定电话爬取信息的方法、计算设备及存储介质
CN112769901B (zh) * 2020-12-23 2023-02-28 交控科技股份有限公司 一种轨道交通信号设备通信交互方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970158A (zh) * 2012-11-05 2013-03-13 广东睿江科技有限公司 日志存储与处理的方法及日志服务器
CN104484405A (zh) * 2014-12-15 2015-04-01 北京国双科技有限公司 执行爬取任务的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225722A1 (en) * 2002-05-30 2003-12-04 International Business Machines Corporation Method and apparatus for providing multiple views of virtual documents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970158A (zh) * 2012-11-05 2013-03-13 广东睿江科技有限公司 日志存储与处理的方法及日志服务器
CN104484405A (zh) * 2014-12-15 2015-04-01 北京国双科技有限公司 执行爬取任务的方法和装置

Also Published As

Publication number Publication date
CN106648445A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106648445B (zh) 用于网络爬虫的数据存储方法及装置
CN111831548B (zh) 一种依赖关系拓扑图的绘制方法和装置
CN107229420B (zh) 数据存储方法、读取方法、删除方法和数据操作系统
CN104488248B (zh) 一种文件同步方法、服务器及终端
CN106874348A (zh) 文件存储和索引方法、装置及读取文件的方法
CN112114849B (zh) 一种资源更新方法和装置
CN102118451B (zh) 用户资源的上传处理方法及装置
CN110661829A (zh) 文件下载方法及装置、客户端和计算机可读存储介质
CN105320577B (zh) 一种数据备份和恢复方法、系统及装置
CN112711612A (zh) 数据处理方法、装置和存储介质及电子装置
CN112925759A (zh) 数据文件的处理方法和装置、存储介质、电子装置
CN107391769B (zh) 一种索引查询方法及装置
CN112559463A (zh) 压缩文件处理的方法及装置
CN104182532B (zh) 终端文件的清理方法、装置及终端
CN113535226B (zh) 应用下载方法、终端、服务器、计算机设备以及存储介质
CN103841144A (zh) 云存储系统、方法、用户端及云存储服务器
CN103049561B (zh) 一种数据压缩方法、存储引擎及存储系统
JP2010061518A (ja) データ保存装置及びデータ保存方法並びにプログラム
CN102780780B (zh) 云计算模式下的数据处理方法、设备和系统
CN104063377A (zh) 信息处理方法和使用其的电子设备
CN108008984A (zh) 一种资源文件下载更新方法及装置
CN110555020A (zh) 一种映射关系建立、数据查询方法、装置及设备
CN111586170B (zh) 资源下载方法、装置、设备及计算机可读存储介质
CN109889608B (zh) 一种动态资源加载方法、装置、电子设备及存储介质
CN107943519B (zh) 一种时序数据乱序操作处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant