网页表格数据采集方法、装置、计算机设备及存储介质与流程

文档序号:19991513发布日期:2020-02-22 02:20阅读:130来源:国知局
网页表格数据采集方法、装置、计算机设备及存储介质与流程

本发明涉及数据采集技术领域,尤其涉及网页表格数据采集方法、装置、计算机设备及存储介质。



背景技术:

现有技术中,一般对于网页表格数据的采集,都是采用循环处理方式,先读取每一行数据,然后对每一列数据进行采集,需要严格按照列的顺序匹配到对应的字段,上述采集方式操作繁琐容易出错,且无法动态适应表格字段的变化,字段变化了就需要同步修改程序。



技术实现要素:

本发明实施例提供了网页表格数据采集方法、装置、计算机设备及存储介质,旨在解决现有网页表格数据采集方法操作繁琐、容易出错、无法动态适应表格字段变化等问题。

本发明实施例提供一种基于标题行的网页表格数据采集方法,其包括:

定位到网页中的目标表格;

动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成标题字段集;

动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和标题字段集中的标题字段进行配对,形成每一行的记录;

将每一行的记录进行组合生成记录集,输出所述记录集。

优选的,所述定位到网页中的目标表格,包括:

采用预设的定位表达式对网页中的目标表格进行定位。

优选的,采用预设的定位表达式对网页中的目标表格进行定位,包括:

使用元素id、表类、正文、相对路径或绝对路径中的一种或几种条件进行定位。

优选的,还包括:

当目标表格的标题字段发生变化时,重新动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成新的标题字段集;

重新动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和新的标题字段集中的标题字段进行配对,形成每一行的记录;

将每一行的记录进行组合生成新的记录集,输出所述记录集。

优选的,所述动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和标题字段集中的标题字段进行配对,形成每一行的记录,包括:

逐列读取目标表格中每一行的明细数据;

每读取到一列的明细数据,将该列的明细数据与对应列的标题字段进行配对;

当配对完一行中所有列的明细数据,则将对应行的配对结果进行组合,形成该行的记录。

优选的,所述每读取到一列的明细数据,将该列的明细数据与对应列的标题字段进行配对,包括:

若该列的明细数据为空,则将对应列的标题字段配对的明细数据设置为空。

优选的,所述表格为行列整齐的标准表格。

本发明实施例还提供一种基于标题行的网页表格数据采集装置,其包括:

定位单元,用于定位到网页中的目标表格;

标题字段读取单元,用于动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成标题字段集;

明细数据配对单元,用于动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和标题字段集中的标题字段进行配对,形成每一行的记录;

组合输出单元,用于将每一行的记录进行组合生成记录集,输出所述记录集。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于标题行的网页表格数据采集方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的基于标题行的网页表格数据采集方法。

本发明实施例提供了网页表格数据采集方法、装置、计算机设备及存储介质,该方法包括:定位到网页中的目标表格;动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成标题字段集;动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和标题字段集中的标题字段进行配对,形成每一行的记录;将每一行的记录进行组合生成记录集,输出所述记录集。该方法操作简单,不易出错,且可动态适应表格字段变化。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于标题行的网页表格数据采集方法的流程示意图;

图2为本发明实施例提供的基于标题行的网页表格数据采集装置的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1为本发明实施例提供的一种基于标题行的网页表格数据采集方法的流程示意图,包括步骤s101~s104:

s101、定位到网页中的目标表格;

首先确定需要进行数据采集的目标表格,然后定位到网页中的目标表格。以便对该目标表格进行数据采集。

在一实施例中,所述定位到网页中的目标表格,包括:

采用预设的定位表达式对网页中的目标表格进行定位。

目标表格的定位方式可以是多种方式,本发明实施例可以预先设置好定位表达式,然后根据定位表达式来对目标表格进行定位。

本实施例中的定位表达式的作用不仅是对目标表格整体进行定位,同样包含对目标表格中的各个元素进行定位,以便采集表格中的数据。

在一实施例中,采用预设的定位表达式对网页中的目标表格进行定位,包括:

使用元素id、表类、正文、相对路径或绝对路径中的一种或几种条件进行定位。

具体地,可以使用元素id或正文来定位目标表格中的元素,使用表类来定位目标表格,使用相对路径或绝对路径来定位目标表格或目标表格中的元素。

s102、动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成标题字段集;

本步骤中,其中的有序是指按照顺序读取目标表格的标题字段。其中的动态是指对于每个目标表格都是按照顺序读取,这样对任何一个目标表格,都可以获取该目标表格的所有标题字段,并且是有序的标题字段。然后将标题字段按顺序构成标题字段集。即标题字段集是一个由标题字段按顺序组成的集合。

由于本实施例是对基于标题行的网页表格进行数据采集,也就是说目标表格中的标题字段是以行的形式进行展示,所以本实施例可以按照顺序从左至右依次读取标题字段行中的标题字段。该标题字段行表示目标表格专门用来放置标题字段的行。

s103、动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和标题字段集中的标题字段进行配对,形成每一行的记录;

本步骤同样是动态且有序的读取,只是读取的内容与前述步骤不同,本步骤是动态且有序的读取明细数据。同样的,本发明实施例是对基于标题行的网页表格进行数据采集,也就是说目标表格中的明细数据是以行的形式进行展示,所以本实施例可以按照顺序从左至右依次读取明细数据行中的明细数据。该明细数据行表示目标表格专门用来放置明细数据的行。

由于放置明细数据的行可能有多个,所以本发明实施例可以循环读取目标表格每一行的明细数据,然后将每一行读取到的明细数据按照列的顺序和标题字段集中的标题字段进行配对,从而形成每一行的记录。

在一实施例中,所述步骤s103包括步骤s201~s203:

s201、逐列读取目标表格中每一行的明细数据;

即,对于每一行的明细数据,是按照逐列的方式读取,例如按照从左至右的顺序进行读取,其读取顺序应与读取标题字段的顺序相同,以便后续进行准确配对。

s202、每读取到一列的明细数据,将该列的明细数据与对应列的标题字段进行配对;

本发明实施例中,是每读取到一列的明细数据,则会将该明细数据与对应列的标题字段进行配对,即边读取边配对,从而避免配对出错的情况。另外本步骤是针对某一行的明细数据而言,所以前述提到的一列的明细数据实际上只有一个,即标题字段与明细数据一一对应。

s203、当配对完一行中所有列的明细数据,则将对应行的配对结果进行组合,形成该行的记录。

本步骤中,一行中所有列的明细数据都与对应的标题字段配对完成后,则会将该行所有的配对结果进行组合,形成该行的记录。这样如果配对完多行所有列的明细数据,那么会形成多行的记录。

在一实施例中,所述步骤s202包括:

若该列的明细数据为空,则将对应列的标题字段配对的明细数据设置为空。

由于目标表格中表格内容的不同,不可避免地会出现某个明细数据为空的情况,所以本发明实施例可以在这种情况下,将对应列的标题字段配对的明细数据设置为空,使得该行的记录更完整,避免后续出错。当然,也可以统一使用一个标识符来代表空的明细数据。

s104、将每一行的记录进行组合生成记录集,输出所述记录集。

配对完所有行的记录后,可以将所有行的记录进行组合,最终可生成记录集,该记录集是指所有记录构成的集合。另外该记录集中的记录应是按照行的顺序依次组合,这样记录集中的记录不会出现顺序错乱。最后可输出所述记录集。

在一实施例中,基于标题行的网页表格数据采集方法还包括:

当目标表格的标题字段发生变化时,重新动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成新的标题字段集;

重新动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和新的标题字段集中的标题字段进行配对,形成每一行的记录;

将每一行的记录进行组合生成新的记录集,输出所述记录集。

本实施例中,当目标表格的标题字段发生变化,例如某一标题字段的内容发生变化,或者新增了某一标题字段,或者减少了某一标题字段,在这些情况下,都需要重新动态且有序的目标表格的标题字段,生成标题字段集,以及重新动态且有序的循环读取目标表格的明细数据,然后与标题字段进行配对,形成每一行的记录,最后组合所有行的记录从而生成新的记录集并输出。

也就是说,本发明实施例的数据读取和采集方式是动态调整的,其并不会严格按照某一目标表格的格式进行读取,这样可以提高本发明实施例的方法通用性。

在一实施例中,所述目标表格为行列整齐的标准表格。本发明实施例更适合于这种行列整齐的标准表格,以提高准确率和效率。对于不规则的表格,则需要根据表格的特点专门设置配对方式。

本发明实施例中,一张目标表格中的数据将会被生成一个记录集,该目标表格中的每一行明细数据都会与相应的标题字段配对生成记录,各个记录形成的集合即成为所述记录集。

本发明实施例中,还可以对所述记录进行分析,以便对记录集中的各条记录的情况进行初步的说明,方便后续调用该记录集的调用方对记录的内容有初步的了解。

具体的,可以获取与标题字段配对的明细数据的类型,例如明细数据的类型为数值,那么可以对各记录中在同一标题字段下明细数据的数值进行比较,并将其中最大的明细数据进行标记,标记的方式可以是将该明细数据进行突出显示,例如标记为黄色,或者加粗显示,或者加下划线显示。也可以将其中最小的明细数据进行标记,标记的方式也可以是将该明细数据进行突出显示,例如标记为红色,或者加粗显示,或者加下划线显示。这样在某一标题字段下,可以快速地从各条记录中找到具有最大的明细数据和最小的明细数据的记录。

另外也可以在该明细数据的侧边增加一个提示字符,例如提示字符为“最大”或“最小”,这样可以更明显的提示该明细数据的特点。当然为了避免提示字符与原始的明细数据无法区分,可以对该提示字符进行专门的设置,例如将提示字符设置在对应明细数据的左上方,从而使提示字符作为上标的形式显示于明细数据的左上方,提示该明细数据的特点。另外在将提示字符作为上标的形式时,还可将提示字符加上双引号,以便与明细数据区分的更明显。

还可将提示字符的方案与对明细数据进行突出显示的方式进行结合使用,这样可以使提示更加明显。

假如明细数据的类型为时间,那么可以对各记录中在同一标题字段下明细数据的时间进行比较,并将其中最新的明细数据进行标记,标记的方式可以是将该明细数据进行突出显示,例如标记为黄色,或者加粗显示,或者加下划线显示。也可以将其中最旧的明细数据进行标记,标记的方式也可以是将该明细数据进行突出显示,例如标记为红色,或者加粗显示,或者加下划线显示。这样在某一标题字段下,可以快速地从各条记录中找到具有最新的明细数据和最旧的明细数据的记录。

另外也可以在该明细数据的侧边增加一个提示字符,例如提示字符为“最新”或“最旧”,这样可以更明显的提示该明细数据的特点。当然为了避免提示字符与原始的明细数据无法区分,可以对该提示字符进行专门的设置,例如将提示字符设置在对应明细数据的左上方,从而使提示字符作为上标的形式显示于明细数据的左上方,提示该明细数据的特点。另外在将提示字符作为上标的形式时,还可将提示字符加上双引号,以便与明细数据区分的更明显。

还可将提示字符的方案与对明细数据进行突出显示的方式进行结合使用,这样可以使提示更加明显。

假如明细数据的类型为文件,那么可以获取各记录中在同一标题字段下明细数据的文件类型,然后在该明细数据的侧边增加一个提示字符,例如提示字符为“图片”、“文档”、“音频”或“视频”,这样可以更明显的提示该明细数据的特点。当然为了避免提示字符与原始的明细数据无法区分,可以对该提示字符进行专门的设置,例如将提示字符设置在对应明细数据的左上方,从而使提示字符作为上标的形式显示于明细数据的左上方,提示该明细数据的特点。另外在将提示字符作为上标的形式时,还可将提示字符加上双引号,以便与明细数据区分的更明显。

诸如此类,还可以根据明细数据的特点,进行其他方式的设置,以便在获取这样的记录集后,能对记录集的内容一目了然。

进一步的,还可在每条记录的开始位置标识该记录在记录集中所处的位置以及记录集中记录的总条数,这样调用该记录集时,就能知道该记录集一共有多少条记录,并且每一条记录位于该记录集的哪一位置,例如该位置可以用该记录在记录集的排序来表示,如某记录排在记录集中的第一的位置,而该记录集一共有一百条记录,那么可将该记录的开始位置标记上“第一条,共一百条”的标识。

另外,当目标表格更新时,还可以针对目标表格更新的内容,对记录集的内容进行更新,例如目标表格中明细数据发生了变化,则可以对对应记录中的明细数据进行同步修改。又或者目标表格中增加了标题字段和对应的明细数据,那么可以对记录集中每条记录增加标题字段,同时增加匹配的明细数据。又或者目标表格中减少了标题字段和对应的明细数据,那么可以对记录集中每条记录中对应标题字段进行删除,同时删除匹配的明细数据。这样就可以利用一个记录集实时管理目标表格中的数据变化,以便调用方能够获得最新的信息。

请参阅图2,图2为本发明实施例提供的一种基于标题行的网页表格数据采集装置的示意性框图,该装置200可以包括:

定位单元201,用于定位到网页中的目标表格;

标题字段读取单元202,用于动态且有序的读取目标表格的标题字段,将读取到的标题字段按顺序排列构成标题字段集;

明细数据配对单元203,用于动态且有序的循环读取目标表格每一行的明细数据,并按照列的顺序和标题字段集中的标题字段进行配对,形成每一行的记录;

组合输出单元204,用于将每一行的记录进行组合生成记录集,输出所述记录集。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于标题行的网页表格数据采集方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的基于标题行的网页表格数据采集方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1