CN109829096B - 一种数据采集方法、装置、电子设备及存储介质 - Google Patents

一种数据采集方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109829096B
CN109829096B CN201910200005.1A CN201910200005A CN109829096B CN 109829096 B CN109829096 B CN 109829096B CN 201910200005 A CN201910200005 A CN 201910200005A CN 109829096 B CN109829096 B CN 109829096B
Authority
CN
China
Prior art keywords
acquisition
data
website
data acquisition
rule
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
CN201910200005.1A
Other languages
English (en)
Other versions
CN109829096A (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.)
Chengdu Kingsoft Interactive Entertainment Technology Co ltd
Beijing Kingsoft Digital Entertainment Co Ltd
Wuhan Kingsoft Office Software Co Ltd
Original Assignee
Chengdu Kingsoft Interactive Entertainment Technology Co ltd
Beijing Kingsoft Digital Entertainment Co Ltd
Wuhan Kingsoft Office Software 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 Chengdu Kingsoft Interactive Entertainment Technology Co ltd, Beijing Kingsoft Digital Entertainment Co Ltd, Wuhan Kingsoft Office Software Co Ltd filed Critical Chengdu Kingsoft Interactive Entertainment Technology Co ltd
Priority to CN201910200005.1A priority Critical patent/CN109829096B/zh
Publication of CN109829096A publication Critical patent/CN109829096A/zh
Application granted granted Critical
Publication of CN109829096B publication Critical patent/CN109829096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供了一种数据采集方法、装置、电子设备及存储介质,所述方法包括:确定数据采集针对的目标网站;从预先制定的采集规则中,确定所述目标网站对应的目标采集规则;基于预先设置的功能组件及目标采集规则完成数据采集。由于无需人工针对每一网站编写一套对应的采集代码,只需要预先设置数据采集过程中的功能组件,针对不同的网站制定的采集规则,就可以对各个网站进行数据采集,大大提高了开发速度和数据采集效率。

Description

一种数据采集方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据采集方法、装置、电子设备及存储介质。
背景技术
在当前的网络时代,很用场景都需要进行数据采集,例如,构建知识图谱之前需要在各个网站采集大量数据;测评应用程序的使用状况需要采集大量用户使用行为数据等。
由于各个网站的架构、协议等均存在差别,所以在进行数据采集时,需要编程人员针对每一个需要进行数据采集的网站编写一套对应的采集代码,采集代码之间不能通用。例如,在采集知识图谱构建所需的数据时,通常采用爬虫技术从各个网站爬取数据。爬虫通常主要包括发起请求和数据解析这两个部分。
所以在进行数据采集时,便需要编程人员针对每一个需要进行数据采集的网站,根据爬虫的过程编写一套对应的采集代码,这样会导致开发速度很慢,数据采集效率低。
发明内容
本发明实施例的目的在于提供一种数据采集方法、装置、电子设备及存储介质,以提高开发速度和数据采集效率。具体技术方案如下:
第一方面,本发明实施例提供了一种数据采集方法,所述方法包括:
确定数据采集针对的目标网站;
从预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
调用基于预先设置的功能组件及所述目标采集规则完成数据采集。
可选的,所述采集规则的生成方式,包括:
对各个网站的网页进行解析,得到解析结果;
根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。
可选的,在所述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则的步骤之前,所述方法还包括:
将所确定的采集规则确定为所述目标网站对应的目标采集规则。
可选的,所述功能组件为多个,所述采集规则与所述功能组件唯一对应;
所述基于预先设置的功能组件及所述目标采集规则完成数据采集的步骤,包括:
按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
可选的,所述功能组件包括:
发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
可选的,所述功能组件的生成方式,包括:
根据预设规则将数据采集流程划分为多个通用子流程;
根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
将所生成的代码分别封装为相应的功能组件。
第二方面,本发明实施例提供了一种数据采集装置,所述装置包括:
目标网站确定模块,用于确定数据采集针对的目标网站;
采集规则确定模块,用于从通过采集规则生成模块预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
数据采集模块,用于基于通过功能组件生成模块预先设置的功能组件及所述目标采集规则完成数据采集。
可选的,所述采集规则生成模块包括:
网页解析单元,用于对各个网站的网页进行解析,得到解析结果;
采集规则生成单元,用于根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。
可选的,所述装置还包括:
通用配置文件生成模块,用于在所述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则之前,基于配置文件模板,通过脚本命令生成通用配置文件。采集规则确定单元,用于将所确定的采集规则确定为所述目标网站对应的目标采集规则。
可选的,所述功能组件为多个,所述采集规则与所述功能组件唯一对应;
所述数据采集模块包括:
数据采集单元,用于按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
可选的,所述通用功能组件包括:
发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
可选的,所述通过功能组件生成模块包括:
子流程划分单元,用于根据预设规则将数据采集流程划分为多个通用子流程;
代码提炼单元,用于根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
通过功能组件生成单元,用于将所生成的代码分别封装为相应的功能组件。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据采集方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据采集方法步骤。
本发明实施例所提供的方案中,电子设备可以首先确定数据采集针对的目标网站,然后从预先制定的采集规则中,确定目标网站对应的目标采集规则,进而,基于预先设置的功能组件及目标采集规则完成数据采集。由于无需人工针对每一网站编写一套对应的采集代码,只需要预先设置数据采集过程中的功能组件,针对不同的网站制定的采集规则,就可以对各个网站进行数据采集,大大提高了开发速度和数据采集效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种数据采集方法的流程图;
图2为图1所示实施例中步骤S102的一种具体流程图;
图3为基于图1所示实施例的功能组件的生成方式的一种流程图;
图4为本发明实施例所提供的一种数据采集装置的流程图;
图5为本发明实施例所提供的一种电子设备的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高开发速度和数据采集效率,本发明实施例提供了一种数据采集方法、装置、电子设备及计算机可读存储介质。
下面首先对本发明实施例所提供的一种数据采集方法进行介绍。
本发明实施例所提供的一种数据采集方法可以应用于任意需要进行数据采集的电子设备,例如,电脑、手机、处理器等,在此不做具体限定,为了描述方便,以下简称电子设备。
如图1所示,一种数据采集方法,所述方法包括:
S101,确定数据采集针对的目标网站;
S102,从预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
S103,基于预先设置的功能组件及所述目标采集规则完成数据采集。
可见,本发明实施例所提供的方案中,电子设备可以首先确定数据采集针对的目标网站,然后从预先制定的采集规则中,确定目标网站对应的目标采集规则,进而,基于预先设置的功能组件及目标采集规则完成数据采集。由于无需人工针对每一网站编写一套对应的采集代码,只需要预先设置数据采集过程中的功能组件,针对不同的网站制定的采集规则,就可以对各个网站进行数据采集,大大提高了开发速度和数据采集效率。
在上述步骤S101中,电子设备可以确定数据采集针对的目标网站。其中,目标网站即为需要进行数据采集的网站。例如,需要对网站A进行数据爬虫已获得网站A中的相关数据,那么网站A即为目标网站。
为了方便进行数据采集,电子设备可以从预先制定的采集规则中,确定上述目标网站对应的目标采集规则,也就是执行步骤S102。其中,采集规则可以是预先制定的存储于电子设备本地的采集规则,也可以是电子设备从其他设备获取的预先制定的采集规则,这都是合理的,在此不作具体限定。
由于各个网站的架构、协议等不同,会造成在实现数据采集时需要服从一定的规则才能成功完成数据采集,上述采集规则即为针对各个网站的数据采集过程中的一些规则,电子设备按照该采集规则才能针对相应的网站的完成数据采集。不同的网站一般对应不同的采集规则,所以在确定目标网站后,电子设备可以从预先制定的采集规则中,确定该目标网站对应的目标采集规则。
进而,电子设备便可以执行上述步骤S103,即基于预先设置的功能组件及所述目标采集规则完成数据采集。电子设备可以调用预先设置的功能组件发起数据采集功能,并基于目标采集规则完成数据采集。虽然各个网站的数据采集细节可能不同,但是一般的数据采集过程是包括一些通用的过程的,例如,针对每个网站进行数据采集时,都需要发起网络请求,只是实现发起网络请求的具体方式可能会因为各个网站的特点而不同。所以可以预先设置功能组件来实现各个不同网站的通用功能的发起。功能组件即为发起通用功能的组件。例如,通过调用功能组件,电子设备可以向各个网站发起“发起网络请求”的功能。
由于对于各个网站来说,实现数据采集过程中各功能的细节不同,而上述采集规则就是规定了想要实现相应功能所在遵循的规则,所以,电子设备调用预先设置的功能组件发起数据采集功能,进而基于上述目标采集规则完成数据采集。可见,功能组件与采集规则配合,可以完成对各个网站的数据采集。
作为本发明实施例的一种实施方式,如图2所示,上述从预先制定的采集规则中,确定所述目标网站对应的目标采集规则的步骤,可以包括:
S201,确定所述目标网站的目标标识;
由于需要进行数据采集的网站往往数量很多,那么为了快速确定目标网站对应的目标采集规则,电子设备可以预先为需要进行数据采集的网站设置标识。这样,在确定目标网站后便可以快速确定目标网站的目标标识。
例如,需要进行数据采集的网站包括网站a、网站b、网站c和网站d。那么电子设备可以预先为该四个网站设置标识,例如可以分别为w1、w2、w3、w4。如果当前需要进行数据采集的网站为网站c,那么电子设备便可以确定目标网站的目标标识为w3。
S202,根据预设的网站标识与采集规则的对应关系,确定所述目标标识对应的采集规则;
为了进一步提升数据采集效率,电子设备可以预先记录网站标识与采集规则的对应关系,这样,在确定了各个网站的网站标识和采集规则后,电子设备可以建立二者之间的对应关系,并进行记录。
这样,在进行数据采集时,电子设备确定了上述目标标识后,便可以查询该对应关系,找到目标标识对应的采集规则。例如,各个网站的标识分别为w1、w2、w3、w4,预设的网站标识与采集规则的对应关系为:标识w1对应采集规则g1、标识w2对应采集规则g2、标识w3对应采集规则g3、标识w4对应采集规则g4。那么如果电子设备确定目标网站的目标标识为w3,便可以根据该对应关系确定目标标识w3对应的采集规则为采集规则g3。
S203,将所确定的采集规则确定为所述目标网站对应的目标采集规则。
确定了目标标识对应的采集规则后,电子设备便可以将所确定的采集规则确定为所述目标网站对应的目标采集规则。
可见,在本实施例中,电子设备可以确定目标网站的目标标识,根据预设的网站标识与采集规则的对应关系,确定目标标识对应的采集规则,进而将所确定的采集规则确定为目标网站对应的目标采集规则。这样,电子设备可以快速确定目标采集规则,进一步提升数据采集的效率。
作为本发明实施例的一种实施方式,上述功能组件可以为多个,采集规则与功能组件唯一对应。
对于数据采集过程来说,一般可能包括几个流程,例如,发起网络请求、链接提取等,所以上述功能组件可以为多个,每个功能组件用于实现对应的通用功能。而对于不同的网站来说,每个通过功能对应的详细实现规则一般又是不同的,所以为了实现每个通过功能,电子设备可以预先制定每个通过功能对应的采集规则,也就是说,采集规则与功能组件是一一对应的。
相应的,上述基于预先设置的功能组件及所述目标采集规则完成数据采集的步骤,可以包括:
按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
数据采集的流程中,每一个流程对应有相应的功能组件,所以电子设备在进行数据采集时,在执行每一个流程时可以调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
在一种实施方式中,对于爬虫等数据采集过程来说,可以根据实现的功能将数据采集过程分为发起网络请求、链接提取、数据特征提取、数据清洗、数据核查去重及数据存储几个流程,电子设备可以预先针对每一个流程设置功能组件,那么上述功能组件也就可以包括:发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
以上述功能组件包括发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件为例,向网站P进行数据采集过程如下:
电子设备首先调用发起网络请求功能组件发起向网站P发起网络请求的功能,采用发起网络请求功能组件对应的网站P的采集规则实现向网站P发起网络请求。然后调用链接提取功能组件发起向网站P发起链接提取的功能,采用链接提取功能组件对应的网站P的采集规则实现链接提取。获取连接所对应的数据后,调用数据特征提取功能组件发起数据特征提取的功能,采用数据特征提取功能组件对应的网站P的采集规则实现数据特征提取。后续的数据清洗、数据核查去重及数据存储流程与此类似,在此不再赘述。
可见,在本实施例中,上述功能组件可以为多个,采集规则与功能组件唯一对应,电子设备可以按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。可见,电子设备可以通过每个通用功能对应的功能组件及采集规则,快速地完成数据采集的每一个流程,数据采集效率得到提高。
作为本发明实施例的一种实施方式,如图3所示,上述功能组件的生成方式,可以包括:
S301,根据预设规则将数据采集流程划分为多个通用子流程;
为了对应于数据采集的每一个通用的流程生成一个功能组件,使得针对每个网站采集数据时均可以调用功能组件,所以电子设备首先可以根据预设规则将数据采集流程划分为多个通用子流程。
电子设备可以根据不同的网站的数据采集过程的共同点,将针对不同网站的数据采集流程划分为多个通用子流程。例如,由于无论针对哪个网站进行数据采集,采用数据爬虫方式的流程均包括发起网络请求、链接提取、数据特征提取、数据清洗、数据核查去重及数据存储几个流程,那么电子设备便可以将数据采集流程划分为发起网络请求、链接提取、数据特征提取、数据清洗、数据核查去重及数据存储通用子流程。
S302,根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
将数据采集流程划分为多个通用子流程后,电子设备便可以根据每个通用子流程的代码逻辑,利用编程语言生成每个通用子流程分别对应的代码。其中,编程语言可以为Python等编程语言,在此不作具体限定。
电子设备可以利用编程语言将每个通用子流程的代码逻辑进行提炼,进而得到每个通用子流程分别对应的代码。其中,该代码即为对于任意一个网站均能发起通用子流程对应的通用功能的代码。
S303,将所生成的代码分别封装为相应的功能组件。
得到上述通用子流程分别对应的代码后,电子设备便可以将所生成的代码分别进行封装,进而年可以得到相应的功能组件,方便后续扩展及修改。在一中实施方式中,为了使功能组件可以灵活复用,电子设备还可以将各组件封装为相应的类。
可见,在本实施例中,电子设备可以根据预设规则将数据采集流程划分为多个通用子流程,根据多个通用子流程的代码逻辑,利用编程语言生成多个通用子流程分别对应的代码,进而将所生成的代码分别封装为相应的功能组件,该功能组件扩展及修改方便,利于数据的快速扩充和丰富。
作为本发明实施例的一种实施方式,上述采集规则的生成方式,可以包括:
对各个网站的网页进行解析,得到解析结果;根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。
在生成采集规则时,由于各个网站的架构、协议等不同,造成网页细节不同,数据采集所需要的规则也就不同,所以电子设备可以对各个网站的网页进行解析,得到解析结果。其中,具体解析方式可以相关技术领域的任意解析方式,只要可以对各个网站的网页进行解析得到解析结果即可,在此不做具体限定及说明。其中,解析结果可以包括网站的网页的各种细节信息,例如,可以包括排版样式、所包括数据的种类、各种类数据的分布方式等。
得到上述解析结果后,电子设备便可以根据各个网站的解析结果,生成相应的采集规则。电子设备可以根据解析结果中的各信息,制定对应的采集规则。具体来说,电子设备可以根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。例如,解析结果中包括数据的种类以及各种类数据的分布方式,那么如果电子设备需要获取种类为M*的数据,解析结果中种类为M*的数据分布在网页的左上方,那么电子设备便可以制定采集规则,该采集规则用于实现在网页的左上方爬取种类为M*的数据。
预先获取的通用配置文件已经具有一些配置文件必须的信息,因此电子设备只需要根据上述各个网站的解析结果,对通用配置文件进行适应性的修改,便可以得到各个网站对应的采集规则。
并且,由于采集规则是在通用配置文件基础上进行修改得到的,修改的只是其中一些对应于各个网站的细节,因此,后续需要更新采集规则时,可以非常方便快速地进行修改,而无需重新生成采集规则。
可见,在本实施例中,电子设备可以对各个网站的网页进行解析,得到解析结果,进而根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。这样,电子设备不但可以快速地生成采集规则,在后续需要更新采集规则时,也可以非常方便快速地进行修改,而无需重新生成采集规则,节省开发成本,进一步提升数据采集效率。
作为本发明实施例的一种实施方式,在上述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则的步骤之前,上述方法还可以包括:
基于配置文件模板,通过脚本命令生成通用配置文件。
为了进一步提高生成采集规则的效率,电子设备可以预先获取或者生成配置文件模板,进而通过脚本命令生成通用配置文件,该通用配置文件即为一个通用的配置文件模板,电子设备可以对其进行调用和改写。电子设备也就可以根据上述各个网站的解析结果,对通用配置文件进行编写,进而得到各个网站对应的采集规则。
例如,假设需要采集新闻网站A最新报道的所有新闻,采集规则的生成具体步骤可以如下:
1).通过脚本命令根据配置文件模板生成新闻网站A的通用配置文件,假设取名为gov_news.config。
2).假设通过对新闻网站A的网页进行解析,得到最新报道的所有新闻有n页,那么根据网站链接url的规律形式,得到种子url有n个,每一页对应一个种子url,这样就可以配置种子url列表,得到对应的采集规则。
3).假设每一页包括m篇新闻文章,则数据采集的任务的导航深度可以为2,即:第一级导航是种子url,也就是翻页导航;第二级导航是详情页,也就是具体新闻报道,对于每一页需要提取m篇新闻文章对应的m个详情页链接。这样,可以根据这些解析结果配置用于提取m篇新闻文章对应的m个详情页链接的采集规则。
4).对于上一步得到的详情页url,需要继续请求分析才能得到具体的新闻文章,一般新闻文章包含标题、作者、正文、发布时间、url等,这些就是具体新闻文章的待提取的数据特征,即新闻文章对应的结构化数据。这样,可以根据这些解析结果配置用于提取新闻文章的待提取的数据特征的采集规则。
5).对于上一步得到的数据特征,其原始形式可能不是太规范,不利于后续构建知识图谱等方面的使用,那么需要对这些数据特征进行一定的清洗转换,例如,新闻文章的发布时间、正文中的标签等。那么基于这些需求,根据数据特征的原始形式以及转换后的目标形式,可以生成用于对数据特征进行清洗转换的采集规则。
6).对于上一步得到的数据,由于采集了很多新闻文章,有可能存在重复的文章,那么需要按照一定的规则对文章进行去重和检查过滤,例如,按照url去重,或者按照url、正文等多个特征字段进行去重。又例如,提取的一些数据特征可能全都是图片,但是数据采集需要的是文本,那么就需要对正文进行检查,将正文少于预设字数的文章过滤掉。那么基于这些需求,根据去重和检查过滤的要求,可以生成用于根据数据特征字段来对文章进行去重和检查过滤的采集规则。
7).对于上一步得到的数据,一般需要存储到特定的数据仓库中,此时也就需要指定存储规则,规定如何存储等。那么基于存储的数据库地址、存储方式等,生成用于对数据进行存储的采集规则。根据上述步骤即可以得到用于对新闻网站A进行数据采用的采集规则,也就是配置文件gov_news.config。
可见,在本实施例中,电子设备可以基于配置文件模板,通过脚本命令生成通用配置文件,进而根据各个网站的解析结果,对通用配置文件进行编写,得到各个网站对应的采集规则,可以非常方便快速地生成采集规则。
作为本发明实施例的一种实施方式,上述方法还可以包括:
基于采集得到的数据构建知识图谱。
利用上述数据采集方法采集得到的数据后,电子设备便可以基于采集得到的数据构建知识图谱。其中,知识图谱可以是各个领域的知识图谱,例如,可以为医学知识图谱、法学知识图谱、视频发展知识图谱等。
其中,基于采集得到的数据构建知识图谱的具体方式可以采用知识图构建领域的任意方式,只要可以构建得到相应的知识图谱即可,在此不做具体限定及说明。
可见,在本实施例中,电子设备在利用上述数据采集方法采集得到的数据后,电子设备便可以基于采集得到的数据构建知识图谱。这样,可以提升构建知识图谱的效率,降低构建知识图谱的开发成本,同时,由于上述数据采集方法效率高,所以可以实现知识图谱的基础数据的快速扩充和丰富。
相应于上述数据采集方法,本发明实施例还提供了一种数据采集装置。
下面对本发明实施例所提供的一种数据采集装置进行介绍。
如图4所示,一种数据采集装置,所述装置包括:
目标网站确定模块410,用于确定数据采集针对的目标网站;
采集规则确定模块420,用于从通过采集规则生成模块(图4中未示出)预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
数据采集模块430,用于基于通过功能组件生成模块(图4中未示出)预先设置的功能组件及所述目标采集规则完成数据采集。
可见,本发明实施例所提供的方案中,电子设备可以首先确定数据采集针对的目标网站,然后从预先制定的采集规则中,确定目标网站对应的目标采集规则,进而,基于预先设置的功能组件及目标采集规则完成数据采集。由于无需人工针对每一网站编写一套对应的采集代码,只需要预先设置数据采集过程中的功能组件,针对不同的网站制定的采集规则,就可以对各个网站进行数据采集,大大提高了开发速度和数据采集效率。
作为本发明实施例的一种实施方式,上述采集规则确定模块420可以包括:
目标标识确定单元(图4中未示出),用于确定所述目标网站的目标标识;
对应关系查询单元(图4中未示出),用于根据预设的网站标识与采集规则的对应关系,确定所述目标标识对应的采集规则;
采集规则确定单元(图4中未示出),用于将所确定的采集规则确定为所述目标网站对应的目标采集规则。
作为本发明实施例的一种实施方式,上述采集规则生成模块可以包括:
网页解析单元(图4中未示出),用于对各个网站的网页进行解析,得到解析结果;
采集规则生成单元(图4中未示出),用于根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。
作为本发明实施例的一种实施方式,上述装置还可以包括:
通用配置文件生成模块(图4中未示出),用于在所述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则之前,基于配置文件模板,通过脚本命令生成通用配置文件。
作为本发明实施例的一种实施方式,上述功能组件可以为多个,上述采集规则与上述功能组件唯一对应;
上述数据采集模块430可以包括:
数据采集单元(图4中未示出),用于按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
作为本发明实施例的一种实施方式,上述功能组件可以包括:
发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
作为本发明实施例的一种实施方式,上述通过功能组件生成模块可以包括:
子流程划分单元(图4中未示出),用于根据预设规则将数据采集流程划分为多个通用子流程;
代码提炼单元(图4中未示出),用于根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
通过功能组件生成单元(图4中未示出),用于将所生成的代码分别封装为相应的功能组件。
作为本发明实施例的一种实施方式,上述装置还可以包括:
知识图谱构建模块(图4中未示出),用于基于采集得到的数据构建知识图谱。
本发明实施例还提供了一种电子设备,如图5所示,电子设备可以包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
确定数据采集针对的目标网站;
从预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
基于预先设置的功能组件及所述目标采集规则完成数据采集。
可见,本发明实施例所提供的方案中,电子设备可以首先确定数据采集针对的目标网站,然后从预先制定的采集规则中,确定目标网站对应的目标采集规则,进而,基于预先设置的功能组件及目标采集规则完成数据采集。由于无需人工针对每一网站编写一套对应的采集代码,只需要预先设置数据采集过程中的功能组件,针对不同的网站制定的采集规则,就可以对各个网站进行数据采集,大大提高了开发速度和数据采集效率。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
作为本发明实施例的一种实施方式,上述从预先制定的采集规则中,确定所述目标网站对应的目标采集规则的步骤,可以包括:
确定所述目标网站的目标标识;
根据预设的网站标识与采集规则的对应关系,确定所述目标标识对应的采集规则;
将所确定的采集规则确定为所述目标网站对应的目标采集规则。
作为本发明实施例的一种实施方式,上述采集规则的生成方式,可以包括:
对各个网站的网页进行解析,得到解析结果;
根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。
作为本发明实施例的一种实施方式,在上述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则的步骤之前,上述方法还可以包括:
基于配置文件模板,通过脚本命令生成通用配置文件。
作为本发明实施例的一种实施方式,上述功能组件可以为多个,上述采集规则与上述功能组件唯一对应;
上述基于预先设置的功能组件及所述目标采集规则完成数据采集的步骤,可以包括:
按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
作为本发明实施例的一种实施方式,上述功能组件可以包括:
发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
作为本发明实施例的一种实施方式,上述功能组件的生成方式,可以包括:
根据预设规则将数据采集流程划分为多个通用子流程;
根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
将所生成的代码分别封装为相应的功能组件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定数据采集针对的目标网站;
从预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
基于预先设置的功能组件及所述目标采集规则完成数据采集。
可见,本发明实施例所提供的方案中,计算机程序被处理器执行时,可以首先确定数据采集针对的目标网站,然后从预先制定的采集规则中,确定目标网站对应的目标采集规则,进而,基于预先设置的功能组件及目标采集规则完成数据采集。由于无需人工针对每一网站编写一套对应的采集代码,只需要预先设置数据采集过程中的功能组件,针对不同的网站制定的采集规则,就可以对各个网站进行数据采集,大大提高了开发速度和数据采集效率。
作为本发明实施例的一种实施方式,上述从预先制定的采集规则中,确定所述目标网站对应的目标采集规则的步骤,可以包括:
确定所述目标网站的目标标识;
根据预设的网站标识与采集规则的对应关系,确定所述目标标识对应的采集规则;
将所确定的采集规则确定为所述目标网站对应的目标采集规则。
作为本发明实施例的一种实施方式,上述采集规则的生成方式,可以包括:
对各个网站的网页进行解析,得到解析结果;
根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则。
作为本发明实施例的一种实施方式,在上述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则的步骤之前,上述方法还可以包括:
基于配置文件模板,通过脚本命令生成通用配置文件。
作为本发明实施例的一种实施方式,上述功能组件可以为多个,上述采集规则与上述功能组件唯一对应;
上述基于预先设置的功能组件及所述目标采集规则完成数据采集的步骤,可以包括:
按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
作为本发明实施例的一种实施方式,上述功能组件可以包括:
发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
作为本发明实施例的一种实施方式,上述功能组件的生成方式,可以包括:
根据预设规则将数据采集流程划分为多个通用子流程;
根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
将所生成的代码分别封装为相应的功能组件。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种数据采集方法,其特征在于,所述方法包括:
确定数据采集针对的目标网站;
从预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
基于预先设置的功能组件及所述目标采集规则完成数据采集,所述功能组件为多个,所述采集规则与所述功能组件唯一对应;
其中,所述功能组件的生成方式,包括:
根据预设规则将数据采集流程划分为多个通用子流程;
根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
将所生成的代码分别封装为相应的功能组件;
其中,所述采集规则的生成方式,包括:
对各个网站的网页进行解析,得到解析结果;
根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则;
所述基于预先设置的功能组件及所述目标采集规则完成数据采集的步骤,包括:
按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
2.如权利要求1所述的方法,其特征在于,在所述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则的步骤之前,所述方法还包括:
基于配置文件模板,通过脚本命令生成通用配置文件。
3.如权利要求1所述的方法,其特征在于,所述按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成的步骤,包括:
按照数据采集的流程,在执行发起网络请求、链接提取、数据特征提取、数据清洗、数据核查去重及数据存储中的每一个流程时,调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
4.如权利要求3所述的方法,其特征在于,所述功能组件包括:
发起网络请求功能组件、链接提取功能组件、数据特征提取功能组件、数据清洗功能组件、数据核查去重功能组件及数据存储功能组件。
5.一种数据采集装置,其特征在于,所述装置包括:
目标网站确定模块,用于确定数据采集针对的目标网站;
采集规则确定模块,用于从通过采集规则生成模块预先制定的采集规则中,确定所述目标网站对应的目标采集规则;
数据采集模块,用于基于通过功能组件生成模块预先设置的功能组件及所述目标采集规则完成数据采集,所述功能组件为多个,所述采集规则与所述功能组件唯一对应;
其中,所述通过功能组件生成模块包括:
子流程划分单元,用于根据预设规则将数据采集流程划分为多个通用子流程;
代码提炼单元,用于根据所述多个通用子流程的代码逻辑,利用编程语言生成所述多个通用子流程分别对应的代码;
通过功能组件生成单元,用于将所生成的代码分别封装为相应的功能组件;
其中,所述采集规则生成模块包括:
网页解析单元,用于对各个网站的网页进行解析,得到解析结果;
采集规则生成单元,用于根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则;
所述数据采集模块包括:
数据采集单元,用于按照数据采集的流程,在执行每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
通用配置文件生成模块,用于在所述根据各个网站的解析结果,对预先获取的通用配置文件进行编写,得到各个网站对应的采集规则之前,基于配置文件模板,通过脚本命令生成通用配置文件。
7.如权利要求5所述的装置,其特征在于,所述数据采集单元,
具体用于按照数据采集的流程,在执行发起网络请求、链接提取、数据特征提取、数据清洗、数据核查去重及数据存储中的每一个流程时调用预先设置的功能组件发起相应的功能,并基于对应的目标采集规则完成该功能,直到数据采集完成。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
CN201910200005.1A 2019-03-15 2019-03-15 一种数据采集方法、装置、电子设备及存储介质 Active CN109829096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910200005.1A CN109829096B (zh) 2019-03-15 2019-03-15 一种数据采集方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910200005.1A CN109829096B (zh) 2019-03-15 2019-03-15 一种数据采集方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109829096A CN109829096A (zh) 2019-05-31
CN109829096B true CN109829096B (zh) 2021-11-26

Family

ID=66870187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910200005.1A Active CN109829096B (zh) 2019-03-15 2019-03-15 一种数据采集方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109829096B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159518B (zh) * 2019-12-26 2023-10-24 深圳前海环融联易信息科技服务有限公司 一种新闻数据采集方法、装置、计算机设备及存储介质
CN111241447A (zh) * 2020-01-13 2020-06-05 浙江省北大信息技术高等研究院 一种网页数据采集方法、系统及存储介质
CN111339720B (zh) * 2020-02-28 2023-08-29 深圳市赤狐软件技术有限公司 基于大数据采集的芯片信息生成方法、装置及计算机设备
CN111405033B (zh) * 2020-03-13 2023-02-10 深圳前海环融联易信息科技服务有限公司 数据采集方法、装置、计算机设备及存储介质
CN113407879B (zh) * 2020-03-16 2024-04-30 北京搜狗科技发展有限公司 一种数据上报方法、装置及可读介质
CN113868367A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 构建知识图谱的方法、装置及系统、计算机存储介质
CN114491206A (zh) * 2022-01-04 2022-05-13 电子科技大学 一种用于新闻博客类网站的通用低代码爬虫方法及系统
CN114417216B (zh) * 2022-01-04 2022-11-29 马上消费金融股份有限公司 数据采集方法、装置、电子设备及可读存储介质
CN114428635A (zh) * 2022-04-06 2022-05-03 杭州未名信科科技有限公司 一种数据采集方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502720A (zh) * 2016-09-26 2017-03-15 海尔优家智能科技(北京)有限公司 一种数据处理方法和装置
CN107256274A (zh) * 2017-06-29 2017-10-17 麦格创科技(深圳)有限公司 网页的智能采集方法及系统
CN109324960A (zh) * 2018-08-13 2019-02-12 中国平安人寿保险股份有限公司 基于大数据分析的自动测试方法及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996528B2 (en) * 2014-07-24 2018-06-12 Seal Software Ltd. Advanced clause groupings detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502720A (zh) * 2016-09-26 2017-03-15 海尔优家智能科技(北京)有限公司 一种数据处理方法和装置
CN107256274A (zh) * 2017-06-29 2017-10-17 麦格创科技(深圳)有限公司 网页的智能采集方法及系统
CN109324960A (zh) * 2018-08-13 2019-02-12 中国平安人寿保险股份有限公司 基于大数据分析的自动测试方法及终端设备

Also Published As

Publication number Publication date
CN109829096A (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN109829096B (zh) 一种数据采集方法、装置、电子设备及存储介质
CN105243159A (zh) 一种基于可视化脚本编辑器的分布式网络爬虫系统
CN109241026B (zh) 数据管理的方法、装置及系统
CN111459993B (zh) 基于行为分析的配置更新方法、装置、设备及存储介质
CN114048701B (zh) 网表eco方法、装置、设备及可读存储介质
CN108875077B (zh) 数据库的列存储方法、装置、服务器及存储介质
CN110737594B (zh) 自动生成测试用例的数据库标准符合性测试方法及装置
CN110647562B (zh) 一种数据查询方法和装置、电子设备、存储介质
CN103246578A (zh) 应用软件进行崩溃处理的方法及进行崩溃处理的浏览器
CN107766036B (zh) 一种模块的构建方法、构建装置及终端设备
CN111124480B (zh) 应用程序包的生成方法、装置、电子设备及存储介质
CN114741360A (zh) 汽车零件文件重建方法、装置、终端设备及存储介质
CN112712125B (zh) 事件流的模式匹配方法、装置、存储介质及处理器
CN108491209B (zh) 一种html页面中公共代码的提取方法及装置
CN111523921B (zh) 漏斗分析方法、分析设备、电子设备及可读存储介质
CN103838865A (zh) 用于挖掘时效性种子页的方法及装置
CN111382189A (zh) 一种异源异构数据碰撞分析方法、终端设备及存储介质
CN108038233B (zh) 一种采集文章的方法、装置、电子设备及存储介质
CN105426500A (zh) 网页脚本动态生成的链接的提取方法及装置
CN110717036A (zh) 一种统一资源定位符的去重方法、装置及电子设备
CN110020268B (zh) 页面返回方法及装置
CN110119351B (zh) 一种测试用例执行方法及装置
CN112433943A (zh) 基于抽象语法树的环境变量检测方法、装置、设备及介质
CN107506299B (zh) 一种代码分析方法及终端设备
CN111291186A (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
GR01 Patent grant
GR01 Patent grant