CN109710864B - 页面内容划分方法、装置、可读存储介质及电子设备 - Google Patents

页面内容划分方法、装置、可读存储介质及电子设备 Download PDF

Info

Publication number
CN109710864B
CN109710864B CN201811447612.XA CN201811447612A CN109710864B CN 109710864 B CN109710864 B CN 109710864B CN 201811447612 A CN201811447612 A CN 201811447612A CN 109710864 B CN109710864 B CN 109710864B
Authority
CN
China
Prior art keywords
node
page
content
nodes
group
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
CN201811447612.XA
Other languages
English (en)
Other versions
CN109710864A (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 ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811447612.XA priority Critical patent/CN109710864B/zh
Publication of CN109710864A publication Critical patent/CN109710864A/zh
Application granted granted Critical
Publication of CN109710864B publication Critical patent/CN109710864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种页面内容划分方法、装置、可读存储介质及电子设备,所述方法包括:根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构;针对每一页面分组,生成当前页面分组下的各个页面对应的dom树;针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据所述第一特征路径确定当前页面分组中的内容节点;确定所述内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度;根据所述内容节点的权重,确定所述内容节点对应的标识,以进行页面内容划分。因此,有效保证页面内容划分的准确性和适用范围。

Description

页面内容划分方法、装置、可读存储介质及电子设备
技术领域
本公开涉及页面内容处理领域,具体地,涉及一种页面内容划分方法、装置、可读存储介质及电子设备。
背景技术
随着互联网技术的快速发展,针对大数据量的页面的处理尤为重要。现有技术中,可以比较简单的获取到页面的源代码,从该大量的页面中提取出用户所需要的内容便成为了亟待解决的问题。
发明内容
本公开的目的是提供一种页面内容划分方法、装置、可读存储介质及电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种页面内容划分方法,所述方法包括:
根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构;
针对每一页面分组,生成当前页面分组下的各个页面对应的dom树;
针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据所述第一特征路径确定当前页面分组中的内容节点;
确定所述内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度;
根据所述内容节点的权重,确定所述内容节点对应的标识,以进行页面内容划分。
根据本公开的第二方面,提供一种页面内容划分装置,所述装置包括:
分组模块,用于根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构;
第一生成模块,用于针对每一页面分组,生成当前页面分组下的各个页面对应的dom树;
第一确定模块,用于针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据所述第一特征路径确定当前页面分组中的内容节点;
第二确定模块,用于确定所述内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度;
第三确定模块,用于根据所述内容节点的权重,确定所述内容节点对应的标识,以进行页面内容划分。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面任一所述方法的步骤。
在上述技术方案中,首先将多个页面根据其URL进行分组,从而可以对页面进行划分,使得划分至同一页面分组的各个页面的页面结构相似,因此,可以基于该页面分组下的页面确定内容节点对应的标识,有效保证页面内容划分的准确性和适用范围。另外,通过将同一页面分组下的各个页面进行合并,从而确定可以代表该页面分组的页面结构的第一特征路径,并基于该第一特征路径获取内容节点,便于根据不同页面结构的页面确定其对应的不同内容节点,为保证页面内容划分结果的准确性提供支持。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的页面内容划分方法的流程图;
图2a-图2e分别为页面p1、p2、p3、p4、p5对应的dom树;
图2f是页面p1、p2、p3、p4、p5合并后所生成的dom树;
图3是根据本公开的另一种实施方式提供的页面内容划分方法的流程图;
图4是根据本公开的一种实施方式提供的页面内容划分装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图;
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1所示,为根据本公开的一种实施方式提供的页面内容划分方法的流程图,如图1所示,所述方法包括:
在S11中,根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构。
其中,每个页面都有其对应的URL(Uniform Resource Locator,统一资源定位符),其中,根据页面URL对多个页面进行分组,包括:
将各个页面的URL中的HTTPS和HTTP进行归一化,示例地,可以归一化为HTTP;
将带有www.前缀和不带有www.前缀的URL进行归一化,示例地,可以归一化为www.;
之后,将归一化后的URL进行分组,示例地,可以按照域名、深度和URL类型进行分组,例如,将域名相同、URL深度为预设深度、且URL类型为数字的页面确定为一个页面分组,将域名相同、URL深度为预设深度、且URL类型为字符的页面确定为另一页面分组。其中,该预设深度可以根据经验进行设置,该预设深度越大,划分出的页面分组的精度越高。
在S12中,针对每一页面分组,生成当前页面分组下的各个页面对应的dom树。其中,根据页面的源代码,生成该页面对应的dom树为现有技术,在此不再赘述。
在S13中,针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据第一特征路径确定当前页面分组中的内容节点。
其中,一个页面分组对应于一种页面结构,而当在某一页面分组中的多数页面中存在相同或相似的节点时,则可以确定该相同或相似的节点可以用来表征该页面分组的页面结构。通过当前页面分组下的各个dom树,确定出第一特征路径,该第一特征路径可以表示当前页面分组下的各个页面所共有的结构。
在该实施例中,第一特征路径对应有多个节点,至少根据所述第一特征路径确定当前页面分组中的内容节点可以是将第一路径上对应的各个节点分别确定为内容节点。
在S14中,确定内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度,在该内容节点所包含的信息的变化程度越大时,表示该内容节点包含的信息越丰富,该内容节点的权重越大。
在S15中,根据内容节点的权重,确定内容节点对应的标识,以进行页面内容划分。
在上述技术方案中,首先将多个页面根据其URL进行分组,从而可以对页面进行划分,使得划分至同一页面分组的各个页面的页面结构相似,因此,可以基于该页面分组下的页面确定内容节点对应的标识,有效保证页面内容划分的准确性和适用范围。另外,通过将同一页面分组下的各个页面进行合并,从而确定可以代表该页面分组的页面结构的第一特征路径,并基于该第一特征路径获取内容节点,便于根据不同页面结构的页面确定其对应的不同内容节点,为保证页面内容划分结果的准确性提供支持。
为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面对上述步骤进行详细的说明。以下首先说明能够代表当前页面分组对应的页面结构的特征路径的确定方式。
可选地,所述根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,包括以下中的至少一者:
1)将在不同dom树中具有相同文本和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径。
其中,本公开中所提及的节点的路径是指当前节点至根节点的路径,其中,页面p1、p2、p3、p4、p5对应的dom树分别如图2a、图2b、图2c、图2d、图2e所示。示例地,如图2a所示,节点aaa的路径为a/aa/aaa,节点abbaa的路径为a/ab/abb/abba/abbaa,其他节点的路径以此类推,在此不再赘述。
示例地,当该页面分组中的多数页面中,在页面中的某一固定位置对应的文本内容相同,则表明在页面中的该位置对应该文本内容可能为该页面分组的页面结构的一部分。因此,在该实施例中,可以将同一页面分组下不同dom树中具有相同文本和路径的节点分为一组,表示该组节点可能是该页面分组对应的页面结构的一部分。之后,可以确定该组节点中的节点数量与该页面分组下的dom树总数的比值是否超过第一阈值,其中,该第一阈值可以根据实际使用需求进行设置,示例地,该第一阈值可以是0.5。在该组节点中的节点数量与该页面分组下的dom树总数的比值超过第一阈值时,则表示该页面分组中的50%以上的页面中在该位置对应该文本内容,即表明该页面分组中的大部分页面中存在该结构,因此,可以将该组节点中的每个节点在所属dom树中的路径进行合并,获得第一特征路径,将页面中的该位置对应该文本内容作为该页面分组的页面结构的一部分。
2)将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径。
其中,节点在其所属dom树中只出现一次是指在该节点所属的dom树中,不存在与该节点的路径和标签属性相同的节点。因此,将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点分为一组时,在不同dom树中具有相同标签属性和路径的节点分为一组,使得分为一组的节点表示在页面中的某一位置对应的标签具有一相同的属性,同时,分为一组的各个节点在其所属的页面中只出现一次,因此,在该组节点中的每个节点在所属dom树中的路径进行合并时,可以准确且唯一定位到各个页面中要进行路径合并的节点。另外,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,表示该页面分组中的大比例的页面中在该位置的节点对应标签具有一相同的属性,即表明该页面分组中的大部分页面中存在该结构,因此,可以将符合该特征的节点分为一组,并将该组节点的路径进行合并,获得第一特征路径。
3)将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点子网分为一组,当该组节点子网中的节点子网数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点子网中的每个节点子网在所属dom树中的路径进行合并,获得所述第一特征路径。
其中,节点子网是指多个相邻节点所构成的子网,相邻节点可以是兄弟节点,也可以是父子节点。例如,/ul/li标签,示例地,/ul节点,/ul/li[1]节点,/ul/li[2]节点,/ul/li[3]节点可以构成一个节点子网。其中,/ul/li[1]节点和/ul/li[2]节点互为兄弟节点,/ul节点为/ul/li[1]节点的父节点。节点子网在所属dom树中的路径为该节点子网中的各个最底层节点在该dom树中的路径。
在该实施例中,节点子网在所属dom树中只出现一次表示在其所属dom树不存在与该节点子网中的各个节点的标签和属性均相同的子网,因此,在确定对该节点子网的路径进行合并时,可以唯一定位到该页面中的该节点子网。并且,合并为一组的节点子网在不同dom树中具有相同标签属性和路径的,则表示在页面中的该路径对应的位置对应的属性相同。另外,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,表示该页面分组中的大比例的页面中在该位置的节点子网对应标签具有一相同的属性,即表明该页面分组中的大部分页面中存在该结构,因此,可以将符合该特征的节点分为一组,并将该组节点的路径进行合并,获得第一特征路径。
其中,对节点的路径进行合并的方式在下文进行详述。通过上述技术方案,可以快速确定出当前页面分组中具有上述特征的节点,从而可以对该各个节点的路径进行合并,可以优先对页面中具有特征的节点进行合并,避免众多对页面中的节点进行的合并测试,有效降低页面结构合并的计算量和处理量。
可选地,在确定出所述第一特征路径之后,所述方法还包括:
将所述第一特征路径上的至少一个节点分别作为目标节点,示例地,可以从根节点开始,依次将存在子节点的节点确定为该目标节点,其中,确定目标节点的顺序在本公开中不进行限定,执行如下操作:
确定当前页面分组下包括该目标节点且该目标节点在其中具有子节点的dom树为目标dom树;
当所述目标dom树为多个时,从多个所述目标dom树中的各条候选路径中,根据候选路径的子节点之间的相似度参数,确定能够被合并的候选路径,并对确定出的能够被合并的候选路径进行合并,获得第二特征路径,其中,所述候选路径为所述目标dom树中,所述目标节点与该目标节点的一个子节点形成的路径;
所述至少根据所述第一特征路径确定当前页面分组中的内容节点,包括:
根据所述第一特征路径和所述第二特征路径,确定当前页面分组中的内容节点。
其中,根据第二特征路径确定当前页面分组中的内容节点的方式与根据第一特征路径确定当前页面分组中的内容节点的方式相似,在此不再赘述。
在该实施例中,在确定出第一特征路径之后,表示第一特征路径上的各个节点已进行路径合并,因此,可以从第一特征路径选择一节点确定为目标节点,以确定各个页面中的该目标节点下的子节点是否可以合并。
在一实施例中,如图2a-2e所示dom树,若确定出的目标节点为节点abb,则,确定出的目标dom树为p1、p2、p3、p4、p5对应的dom树。
之后,p1对应的dom树中的候选路径为“/abb/abba”和“/abb/abbb”;
p2对应的dom树中的候选路径为“/abb/abba”、“/abb/abbb”和“/abb/abbc”;
p3对应的dom树中的候选路径为“/abb/abba”、“/abb/abbb”、“/abb/abbc”和“/abb/abbd”;
p4对应的dom树中的候选路径为“/abb/abba”、“/abb/abbb”、“/abb/abbc”和“/abb/abbe”;
p5对应的dom树中的候选路径为“/abb/abba”、“/abb/abbb”和“/abb/abbc”。
在一实施例中,可以两两计算上述不同dom树的候选路径的子节点之间的相似度参数,从而确定候选路径的子节点之间是否相似。
在另一实施例中,可以按照不同dom树的候选路径的子节点的位置关系进行计算,例如,在确定出p1对应的dom树中的子节点abbb和p2对应的dom树中的子节点abbb相似时,不再计算p1对应的dom树中的子节点abba和p2对应的dom树中的子节点abbc的相似度参数,即在子节点进行合并时,不会出现交叉合并(如,在p1对应的dom树中的子节点abbb和p2对应的dom树中的子节点abbb确定合并时,p1对应的dom树中的子节点abba和p2对应的dom树中的子节点abbc不会进行合并)的情况,从而可以通过上述计算方式,有效减少数据计算量,提高合并效率。
因此,通过上述技术方案,在确定出第一特征路径之后,还可以根据该第一特征路径对当前页面分组中的各个页面中的可以合并的节点进行合并。通过第一特征路径确定可以进行合并的第二特征路径,可以有效降低各个节点之间的相似度参数的计算量。
可选地,当两条或更多条候选路径的子节点之间的相似度参数表征这些子节点之间相似时,确定所述两条或更多条候选路径能够被合并。
其中,在一实施例中,所述相似度参数可以是候选路径的子节点之间的距离,当该距离越小时,表示其对应的候选路径的子节点之间越相似。示例地,可以根据子节点之间的位置、父子关系、及文本内容中的一者或多者分别计算距离,之后可以对该各个特征进行权重设置。其中,所述各个特征的权重设置可以根据实际使用情况进行设置,本公开中对此不进行限定。
在另一实施例中,所述相似度参数可以是候选路径的子节点之间的相似度,当该相似度越大时,表示其对应的候选路径的子节点之间越相似。其中,确定候选路径的子节点之间的相似度的方式与上文确定距离的方式类似,在此不再赘述。
通过上述技术方案,可以确定出各候选路径的子节点之间是否相似,从而可以为候选路径的子节点是否可以进行合并提供数据支持,保证子节点合并的准确性。
可选地,对路径进行合并具体为对路径上的同级节点逐一进行合并,且针对任一级节点,该级节点合并所得节点的路径表示为该级节点的路径表示中,能够代表最多数量的同级节点的路径表示;以及,若该级节点为文本型节点,则该级节点合并所得节点的文本为该级节点的文本的集合。
其中,节点的路径表示可以是该节点的Xpath路径表示,以图2a中所示dom树中的节点aaa为例;
示例地,节点aaa对应的标签为<div>,节点aaa的多个路径表示如下:
//div[@id='aaa'];
//div[@class='c1'];
//div[contains(@class,'cat-item')]。
在确定出图2a、2b、2c、2d、2e中的各个合并的节点分别是节点aaa,确定该级节点合并所得节点的路径表示时,可以分别确定各个节点的各个路径表示可以代表的同级节点的数量。
示例地,合并所得节点对应的各个路径表示如下:
//div[@id='aaa']:p1、p2、p3;
//div[@class='c1']:p1、p2、p3、p5;
//div[contains(@class,'cat-item')]:p4。
其中,路径表示“//div[@class='c1']”可以代表的同级节点的数量最多,因此,可以将“//div[@class='c1']”确定为合并所得节点的路径表示,将各个页面的dom树中节点aaa对应的文本的集合确定为该合并所得节点的文本。
可选地,若在确定合并所得节点的路径表示时,出现代表相同数量的路径表示时,可以按照预设优先级确定合并所得节点的路径表示。示例地,该预设优先级从高到低的顺序依次为“@id”、“@class”、“@contains(@class,*)”。示例地,若确定出节点ab合并所得节点对应的各个路径表示如下:
//div[@id='ab']:p1、p2、p3、p4;
//div[@class='c2']:p1、p2、p3、p5;
//div[contains(@class,'cat-item')]:p4。
此时,可以按照上述预设优先级,确定合并所得节点的路径表示为“//div[@id='ab']”。
另外,在根据上述预设优先级无法确定出合适的路径表示(可以代表大多数同级节点的路径表示),可以采用“父节点路径表示+当前节点名称[序号]”,其中,序号表示当前节点是其父节点的第几个子节点。示例地,“//ul/li[1]”表示ul节点下的第一个li节点。
因此,在上述技术方案中,在对节点的路径进行合并时,可以根据该节点逐级合并至根节点,便于快速合并节点路径。同时,通过将该级节点的路径表示中,能够代表最多数量的同级节点的路径表示作为该级节点合并所得节点的路径表示,从而可以使得合并后的路径可以代表该分组中的最多个页面,有效保证合并后的路径的适用范围。
在确定出特征路径之后,则可以根据特征路径确定出各个内容节点,并确定内容节点的权重。可选地,可以通过以下公式确定所述内容节点的权重:
Figure BDA0001886048820000091
其中,Pweight表示所述内容节点的权重;
variability表示所述内容节点的文本变化度,其中,由上文所述可知,内容节点对应的文本为包含该内容节点的路径上对应的同级节点的文本的集合,则该文本变化度即为该文本的集合中不同文本的个数与当前页面分组下包含该内容节点的dom树的总数的比值。
示例地,该内容节点的对应的文本的集合中不同文本的个数为4,例如,该集合包括文本1、文本2、文本3和文本4。其中,对应文本1的同级节点为节点S1、S2,对应文本2的同级节点为节点S3,对应文本3的同级节点为节点S4、S5,对应文本4的同级节点为节点S6,则当前页面分组下包含该内容节点的dom树的总数6,该内容节点的文本变化度为66.7%(即,4/6)。
Cweighti表示所述内容节点的第i个子节点的权重,其中,子节点权重确定的方式与内容节点的权重的确定方式相同,在此不再赘述。
n表示所述内容节点的子节点的总个数;
α表示预设系数,其中,α的取值范围为(0.5,1)。α<1可以保证当该内容节点不存在对应文本且其只存在一个子节点时,该内容节点的权重会小于其子节点的权重,由此可以避免权重无限向父节点传递,保证确定出的权重的准确性;α>0.5可以保证当该内容节点包含至少两个权重相近的子节点时,该内容节点的权重会大于其各个子节点的权重,符合实际的页面设计模式,进一步保证确定出的权重的准确性。更进一步地,α取值范围在(0.6,0.7)中时,可以使得确定出的内容节点的权重更加稳定和准确。
length表示所述内容节点的文本平均长度。示例地,在确定出当前页面分组下包含该内容节点的dom树中、与该内容节点对应的节点的文本后,将对应的文本长度的平均值确定为内容节点的文本平均长度。其中,可以通过如下公式进行确定:
Figure BDA0001886048820000092
其中,m表示当前页面分组下包含该内容节点的dom树的总数;
lengthj表示当前页面分组下的第j个包含该内容节点的dom树中、与该内容节点对应的节点的文本的长度。
在上述技术方案中,在确定内容节点的权重时,是结合该内容节点的自身权重以及该内容节点的子节点对应的权重所确定的,从而可以保证确定出的内容节点的权重的稳定性和准确性,为进行页面内容划分提供准确的数据支持。
在确定出内容节点的权重之后,可以根据内容节点的权重,确定内容节点对应的标识,以下对其进行详细说明。
可选地,所述根据所述内容节点的权重,确定所述内容节点对应的标识,包括:
若权重最大的内容节点的父节点除该内容节点外不存在其他子节点,为所述权重最大的内容节点的父节点标记正文标识。
其中,在互联网页面的设计模式中,正文通常是包含信息量最多的模块,由上文所述,权重最大的内容节点对应的信息最丰富,则该内容节点对应的文本为正文的可能性比较大。此时,可以确定该内容节点的父节点除该内容节点外是否存在其他子节点,若不存在,该内容节点的父节点和该内容节点为等效节点,则可以为该内容节点的父节点标记正文标识,以提高正文标识的适用范围。若存在,则表示虽然该内容节点的父节点除该内容节点外还包括其他子节点,但该内容节点的父节点的权重却小于该内容节点的权重,由权重确定的方式可知,该其他子节点的权重与该内容节点的权重的差距较大,此时,直接为该内容节点标记正文标识,从而可以避免为不属于正文的部分标记正文标识,提高页面内容划分的准确性,提升用户使用体验。
可选地,所述方法还包括:
在确定出所述内容节点之后,按照广度优先的顺序对所述内容节点进行编号。
其中,可以在对特征路径进行合并后所得的dom树中按照广度优先的顺序对内容节点进行编号。示例地,如图2f所示,为页面p1、p2、p3、p4、p5合并后所生成的dom树,其中,虚线连接线表示该虚线连接的下级节点没有合并,不属于内容节点,如节点c。按照广度优先的顺序对其中的内容节点进行编号时,序号由小至大进行排序,其顺序依次是节点a、节点aa、节点ab、节点aaa、节点aab、节点aba、节点abb、节点abba、节点abbb、节点abbc。
在S14中,根据内容节点的权重,确定内容节点对应的标识的一种示例性实现方式如下,还包括:
将序号小于所述正文标识对应的节点的序号的内容节点中,文本变化度超过第二阈值的节点确定为潜在标题节点,示例地,第二阈值可以为0.8。
现有的互联网设计模式中,标题通常会设计在正文之前,因此,在确定出正文后,可以基于该正文进一步确定出标题。由上可知,内容节点在编号时是基于广度优先的顺序进行编号的,所以标题的节点对应的序号会小于正文标识对应的节点的序号,由此,可以有效缩小标题的划分范围,提高处理效率。另外,不同的页面中的标题一般不同,由此可以通过内容节点的文本变化度进一步缩小标题的划分范围。其中,文本变化度的确定方式已在上文详述,在此不再赘述。
在所述潜在标题节点满足以下条件中的任一者时,为所述潜在标题节点标记标题标识:
1)所述潜在标题节点的数量为一个。一个页面中通过会设计一个主标题,在通过上述方式确定出的潜在节点的数量为一个时,可以直接为该潜在标题节点标记标题标识。
2)所述潜在标题节点对应HTML标签中的标题标签。在网页编写时,通常直接采用标题标签对应设置相应的标题,HTML标签中常用的标题标签为<h1>、<h2>、<h3>、<h4>、<h5>、<h6>。示例地,潜在标题节点的Xpath表示为“//h1[@class='c1']”,即潜在标题节点的标签为<h1>,此时,可以为该潜在标题节点标记标题标识。
3)所述潜在标题节点的属性中包含标题属性。示例地,标题属性可以是“title”属性。其中,“title”属性通常用于规定关于元素的额外信息,这些信息通常会在鼠标移到元素上时显示一段工具提示文本。在设计标题时,通常会使用到“title”属性的上述功能,因此,可以在潜在标题节点的属性中包含标题属性时,为其标记标题标识。
4)所述潜在标题节点对应的文本平均长度低于第三阈值、且对应的文本长度的标准差低于第四阈值。
通过对多页面进行统计分析,发现页面中的标题的文本的长度较短且同一类页面中各个标题文本的长度相近。因此,可以根据潜在标题节点对应的文本的长度确定该潜在标题节点是否对应于标题。在该实施例中,第三阈值可以根据多页面统计分析的实验结果进行设置,不同的页面分组中对应的第三阈值可以不同,本公开对此不进行限定。当潜在标题节点对应的文本平均长度低于第三阈值时,示例地,第三阈值为小于200的数值,表示该标题节点对应的文本平均长度较短;潜在标题节点对应的文本长度的标准差低于第四阈值,示例地,第四阈值可以为50,表示该潜在标题节点在当前页面分组的对应页面中的文本长度比较相近,此时,则可以为该潜在标题节点标记标题标识。
5)在当前页面分组的包括所述潜在标题节点的页面中,满足所述潜在标题节点对应的文本与所属页面的显示标题内容相似这一条件的页面数量、与所述当前页面分组中的页面总数的比值超过第五阈值。
其中,潜在标题节点所属页面的显示标题内容即为其所属页面中<title>标签对应的文本内容。针对某一页面,可以通过计算潜在标题节点对应的文本与所属页面的显示标题内容之间的杰卡德(Jaccard)相似系数或者余弦相似度以确定两者是否相似。其中,杰卡德(Jaccard)相似系数越大,表示两者越相似;确定余弦相似度时,夹角越小,表示两者越相似。杰卡德(Jaccard)相似系数和余弦相似度的计算方式为现有技术,在此不再赘述。
页面在浏览器中显示时,通常会在浏览器的窗口标签中显示该页面中的标题。当页面中的潜在标题节点对应的文本与该显示在该窗口标签中的内容(即,显示标题内容)相似时,表示该潜在标题节点对应于页面中的标题的可能性较大。因此,在该页面分组中的页面中,潜在标题节点对应的文本与所属页面的显示标题内容相似的页面数量、与所述当前页面分组中的页面总数的比值超过第五阈值时,示例地,第五阈值可以是80%,此时,则表示当前页面分组中有大部分的页面满足上述条件,可以为该潜在标题节点标记标题标识。
在上述技术方案中,通过确定潜在标题节点,可以有效缩小标记标题标识对应的节点的范围及数量,从而有效提高标记效率。之后,通过确定当前页面分组中的多个页面的综合特征以进一步确定标记标题标识的节点,既可以避免单页面判断所造成的页面内容划分的片面性,又可以通过确定潜在标题节点有效降低数据处理量,保证页面内容划分的准确率和效率,提升用户使用体验。
可选地,所述根据所述内容节点的权重,确定所述内容节点对应的标识,还包括:
为序号小于所述正文标识对应的节点的序号、且与所述标题标识对应的节点的层级距离在预设范围内的节点中,图片变化度大于第六阈值、且对应标签不为<meta>标签以及不包含与作者有关的关键词的内容节点标记页面首部图片标识。
其中,页面首部图片通常设计与正文之前,且与页面中的标题位置相近,因此,可以通过确定序号小于所述正文标识对应的节点的序号以保证页面首部图片标识对应的节点位于正文之前。同时,内容节点对应的dom树中包含有各个节点之间的层级关系,示例地,节点与该节点的父节点或是子节点之间的层级距离为1,节点与该节点的父节点的父节点之间的层级距离为2,节点与该节点的兄弟节点之间的层级距离为0,其他以此类推,在此不再赘述。因此,通过确定与所述标题标识对应的节点的层级距离在预设范围内这一条件,可以使得标记页面首部图片标识的范围可以缩小至标题标识对应的节点附近。
并且,不同的图片的URL不同,则可以通过图片的RUL确定内容节点对应的图片变化度。示例地,第六阈值可以是0.8,当图片变化度大于0.8时,表示该节点对应的图片变化度较大。图片变化度的确定方式与文本变化度的确定方式类似,在此不再赘述。需要进行说明的是,页面的作者信息通常也会显示在页面首部,例如,作者的头像。因此,在标记页面首部图片标识时,需要排除页面首部的与作者相关的信息的影响。通过对多页面统计分析,作者的头像通常采用<meta>标签进行获取,且其节点中通常对应有与作者有关的关键词,例如,个人信息、作者信息等说明性文字。
在该实施例中,根据正文标识对应的节点和标题标识对应的节点可以有效缩小标记页面首部图片标识的范围,有效提高标记效率和标记质量。另外,通过有效排除作者信息对标记页面首部图片标识的影响,可以进一步提高标记页面首部图片标识的准确性,提高页面内容划分的准确性。
可选地,在所述为所述权重最大的内容节点的父节点标记正文标识的步骤之后,所述方法还包括:
在所述正文标识对应的节点的各子节点中,确定包含冗余信息的子节点,并为所述包含所述冗余信息的子节点标记冗余标识。
其中,在标记正文标识后,可以将正文标识对应的节点及其子节点对应的文本确定为正文文本。然而,为了保证同一类页面(即,对应于同一页面结构)的页面内容的统一性,可能会在正文文本中添加相同或相似的内容,在对正文内容进行提取时,这部分内容则会成为冗余。因此,本公开中可以通过标记冗余标识对其进行标记。
可选地,可以通过如下方式确定冗余信息:
1)在当前页面分组的包括所述正文标识对应的节点的页面中、所述正文文本中包含相似文本的页面数量、与所述当前页面分组中的页面总数的比值超过第一冗余阈值的文本确定为冗余信息。
其中,可以预先设置相似文本的长度。示例地,在当前页面分组的包括所述正文标识对应的节点的页面中,可以直接将该各个页面中的正文文本进行比较,从而确定出该各个页面的正文文本中相似的部分,确定为相似文本。也可以是选择两个页面的正文文本进行比较,确定出相似文本,之后,可以确定其他页面的正文中是否包含该相似文本,从而确定出冗余信息。
2)在当前页面分组的包括所述正文标识对应的节点、且该正文标识对应的节点包含子节点的页面中,若包含同一短句的页面数量、与所述当前页面分组中的页面总数的比值超过第二冗余阈值,将所述短句确定为冗余信息。
示例地,第二冗余阈值为70%,在当前页面分组的包括所述正文标识对应的节点、且该正文标识对应的节点包含子节点的页面中,若正文文本中包含有“相关推荐”这一短句的页面数量为25,当前页面分组中的页面总数为30,此时可以将“相关推荐”这一短句确定为冗余信息。示例地,该冗余信息可以通过Xpath进行表示,如“//article[@id='content']//p[contains(text(),'相关推荐')]”。因此,在确定内容节点的标识时,可以为文本中包含“相关推荐”的子节点标记冗余标识。其中,可以预设多个短句进行匹配,也可以在页面内容划分的过程中不断更新该短句的范围,从而有效提高冗余信息判断的精准度。
3)将所述正文文本中的锚文本确定为冗余信息。其中,正文文本中的锚文本通常用于链接跳转的指示,因此,可以直接将锚文本确定为冗余信息,从而有效排除链接跳转对页面内容划分结果的影响。
4)在当前页面分组的包括所述正文标识对应的节点、且该正文标识对应的节点包含子节点的页面中,若按照序号由大至小的排名前N的<p>标签对应的节点中的文本相似的页面数量、与所述当前页面分组中的页面总数的比值超过第三冗余阈值,将所述排名前N的<p>标签对应的节点中的文本确定为冗余信息,其中,所述N为正整数。其中,由于节点是按照广度优先的顺序进行编号的,因此,按照序号由大至小的排名前N的<p>标签对应的节点中的文本即为该正文文本中末尾N段对应的文本。
其中,在网页中对正文进行编辑时,通常会在正文的末尾段落时编辑相同或相似的文本。因此,在上述技术方案中,确定当前页面分组的页面正文文本中末尾N段相似的页面数量、与所述当前页面分组中的页面总数的比值,在该比值超过第三冗余阈值时,表示当前页面分组下的页面中末尾N段的文本相似的页面数量较多,因此,可以直接将该末尾N段的文本确定为冗余信息。可选地,第三冗余阈值小于第二冗余阈值。
通过上述技术方案,可以快速确定出正文文本中的冗余信息,从而可以根据该冗余信息标记冗余标识。因此,一方面可以有效提高页面内容标记的效率和质量,另一方面,也可以有效避免冗余信息对页面内容划分结果的影响,进一步保证页面内容划分的准确度。
可选地,所述根据所述内容节点的权重,确定所述内容节点对应的标识,还包括:
为对应于满足时间格式的文本的内容节点标记发布时间标识。
在该实施例中,可以对常用的时间格式进行枚举存储,通过与该存储的时间格式进行匹配以确定文本是否满足时间格式。示例地,时间格式可以例如为“"yyyy-MM-ddHH:mm:ss"”、“dd/MM/yyyy”、“MM/dd/yyyyhh:mm:ss a zzz”等,在此不再赘述。在该文本的格式与某一存储的时间格式相同,则确定该文本满足时间格式。通过上述技术方案,可以快速对发布时间标识进行标记,提高页面内容划分的效率。
可选地,所述根据所述内容节点的权重,确定所述内容节点对应的标识,包括:
为出现频率大于预设的频率阈值、且权重小于预设的权重阈值的内容节点标记冗余标识,其中,所述出现频率为在当前页面分组下包括该内容节点的dom树与当前页面分组下的dom树总数的比值。
在页面设计时可能会在每个页面中设计一类节点以保证同一类页面的统一性。而该类节点通常对应于相同或相似的文本,在进行页面内容划分时,则不需要对该类节点包含的内容进行划分。
因此,在该实施例中,内容节点的出现频率大于预设的频率阈值,表示该内容节点在当前页面分组中的多个页面中出现,而内容节点的权重小于预设的权重阈值则表示该内容节点对应的信息的变化程度较小,此时,则可以为满足上述两个条件的内容节点标记冗余标识,表示该内容节点及其子节点对应的文本的为冗余文本。
通过上述技术方案,可以将页面分组中出大概率出现但包含较少信息的内容节点标记冗余标识,从而有效避免该冗余信息对页面内容划分的影响,并且也可以有效保证后续页面内容划分提取所得内容的简洁性,贴合用户的使用需求。
可选地,如图3所示,在图1的基础上,所述方法还包括:
在S31中,至少根据第一特征路径和内容节点对应的标识,生成页面内容划分模板,并将页面内容划分模板与当前页面分组的分组标识相关联;
其中,在该实施例中,至少根据所述第一特征路径和所述内容节点对应的标识,生成页面内容划分模板,可以是将该第一特征路径存储在页面内容划分模板中,并对应存储该第一特征路径上的内容节点对应的标识。也可以是将第一特征路径存储在页面内容划分模板中,并针对标记有对应标识的内容节点新增一属性用于标记其对应的标识。其中,上述方式只是生成页面内容划分模板的示例性实现方式,本公开中对此不进行限定。
可选地,在确定出第二特征路径之后,也可以根据第一特征路径、第二特征路径和内容节点对应的标识,生成页面内容划分模板。其中生成页面内容划分模板的方式与上述相同,不再赘述。
在S32中,获取校验页面集合,其中,所述校验页面集合中包含的各个页面用于确定该页面分组的关键节点。
可选地,所述校验页面集合包括当前页面分组中除第一页面之外的页面,所述第一页面为其中孤立节点占该页面节点总数的比例超过第七阈值的页面,所述孤立节点包括第一节点和第二节点,所述第一节点为该页面中未与当前页面分组下的其他页面中的节点进行过路径合并的节点,所述第二节点为该页面中与当前页面分组下的其他页面中的节点进行过路径合并、但合并节点总数与当前页面分组下的dom树总数的比值低于第八阈值的节点,所述合并节点总数为包括该第二节点和与该第二节点进行合并的节点在内的节点的数量。
其中,在确定页面的关键节点时,需要排除当前页面分组中不属于该页面分组的页面。在一实施例中,页面中未与当前页面分组下的其他页面中的节点进行过路径合并的节点可以作为孤立节点,在另一实施例中,若页面中的节点与当前页面分组下的其他页面进行了路径合并,但是该合并节点总数与当前页面分组下的dom树总数的比值低于第八阈值的节点,示例地,第八阈值可以为0.3,表示虽然该节点进行了合并,但在当前页面分组中只有极少数的页面中可以进行路径合并,并不能够代表当前页面分组的整体结构,因此,该类节点也可以确定孤立节点。
示例地,第七阈值可以为0.8,则当一页面中的孤立节点占该页面节点总数的比例超过第七阈值时,表示该页面中的大部分的节点都不能够和当前页面分组下的其他页面形成一个统一的页面结构,此时,可以确定该页面不属于该页面分组,在确定当前页面分组的关键节点时,可以不考虑该页面中的节点。
在S33中,将在校验页面集合下的各个页面中均出现的节点确定为校验节点;
在S34中,获取校验节点集合,所述校验节点集合包括至少一个所述校验节点;
在S35中,在确定除当前页面分组之外的其他页面分组下的各页面中都不包含校验节点集合时,将校验节点集合确定为当前页面分组对应的关键节点,其中,所述关键节点用于唯一表示当前页面分组对应的页面内容划分模板。
在一实施例中,可以任意选择校验节点,以形成校验节点集合,并通过确定除当前页面分组之外的其他页面分组下的各页面中是否包含该校验节点集合,以确定该校验节点集合是否可以作为当前页面分组的关键节点。
在另一实施例中,可以首先判断包含一个校验节点的校验节点集合是否可以作为当前页面分组对应的关键节点。若确定出除当前页面分组之外的其他页面分组下的各页面中都不包含该校验节点时,可以直接将该校验节点(即,该校验节点集合)确定为当前页面分组对应的关键节点。若校验节点集合中只包含一个校验节点时无法确定出当前页面分组对应的关键节点时,可以向校验节点集合中添加一校验节点,继续上述步骤以确定当前页面分组对应的关键节点。
通过上述技术方案,可以确定出唯一表示当前页面分组对应的页面内容划分模板的关键节点,既便于快速查询到该页面内容划分模板,又便于基于该页面内容划分模板对页面内容进行处理时,可以快速匹配到该页面内容划分模板,从而可以提高页面内容处理的效率,提升用户使用体验。
可选地,所述方法还包括:
若第一页面中不包括正文标识对应的节点,将该第一页面确定为第二页面。
其中,对应于同一页面结构的页面,其页面内容的模块相似,在该实施例中,可以以正文标识对应的节点进行区分。示例地,若第一页面中不包括正文标识对应的节点,则表示该第一页面与当前页面分组中的正文标识对应的节点无法合并,此时,该第一页面不属于该当前页面分组的可能性比较大。
若第二页面的总数与当前页面分组的页面总数的比值超过第九阈值,为所述第二页面创建新的页面分组,并将所述第二页面从所述当前页面分组中删除。
在该实施例中,示例地,第九阈值可以是0.3,若当前页面分组中存在数量较多的第二页面时,表示当前页面分组中存在数量较多的未能与当前页面分组对应的页面结构进行合并的页面,此时,可以针对该多个第二页面创建一个新的页面分组,以根据该多个第二页面执行上述页面内容划分方法,从而可以对第二页面进行页面内容划分。因此,通过上述技术方案,一方面,可以对页面分组进行更精确的划分,另一方面,也可以增加页面内容划分模板的多样性,提高页面内容划分方法的适用范围。
可选地,所述方法还包括:
获取待划分页面;
根据所述待划分页面的URL确定与所述待划分页面对应的目标页面内容划分模板。
其中,可以将待划分页面中的各个节点与该页面内容划分模板进行校验,以确定待划分页面与页面内容划分模板能否匹配成功,并将匹配成功的页面内容划分模板确定为目标页面内容划分模板。
基于所述目标页面内容划分模板,对所述待划分页面进行页面内容提取并划分。
在一实施例中,可以在按照目标页面内容划分模板中的路径对待划分页面进行页面内容提取,并根据目标页面内容划分模板的标识对提取的内容进行标记。示例地,将提取出的标识对应的节点及其子节点包含的文本标记为该标识对应的类型,如,将正文标识对应的节点及其子节点包含的文本标记为正文,其他标识相似,在此不再赘述。
在另一实施例中,针对冗余标识对应的节点,示例地,可以直接忽略该冗余标识对应的节点及其子节点对应的文本。又例如,也可以将该冗余标识对应的节点及其子节点对应的文本进行提取之后将其标记为冗余信息,本公开对此不进行限定。
在上述技术方案中,通过确定待划分页面对应的目标页面内容划分模板,从而可以基于该目标页面内容划分模板确定待划分页面中的内容,可以快速且准确地对页面内容进行划分,从而为用户提供其所需的内容,满足用户的使用需求,提升用户使用体验。
可选地,根据所述待划分页面的URL确定与所述待划分页面对应的目标页面内容划分模板,包括:
生成所述待划分页面的dom树;
根据所述待划分页面的dom树,将所述待划分页面与所述页面内容划分模板的关键节点进行匹配;
在确定所述待划分页面与所述关键节点匹配成功时,确定所述待划分页面与所述页面内容划分模板匹配成功,将匹配成功的页面内容划分模板确定为目标页面内容划分模板。
在该实施例中,每个页面内容划分模板都存在关键节点用于唯一表示该页面内容划分模板,因此,在将待划分页面与页面内容划分模板进行匹配时,只需要校验该待划分页面中是否存在该关键节点即可,若该待划分页面中存在该关键节点,则确定待划分页面与页面内容划分模板的关键节点成功匹配,即待划分页面与该页面内容划分模板成功匹配。因此,通过上述技术方案,可以有效降低确定页面内容划分模板时所需的计算量,提高页面内容提取的效率,提升用户使用体验。
本公开还提供一种页面内容划分装置,如图4所示,所述装置10包括:
分组模块100,用于根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构;
第一生成模块200,用于针对每一页面分组,生成当前页面分组下的各个页面对应的dom树;
第一确定模块300,用于针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据所述第一特征路径确定当前页面分组中的内容节点;
第二确定模块400,用于确定所述内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度;
第三确定模块500,用于根据所述内容节点的权重,确定所述内容节点对应的标识,以进行页面内容划分。
可选地,所述第二确定模块400用于通过以下公式确定所述内容节点的权重:
Figure BDA0001886048820000191
其中,Pweight表示所述内容节点的权重;
variability表示所述内容节点的文本变化度;
length表示所述内容节点的文本平均长度;
Cweighti表示所述内容节点的第i个子节点的权重;
n表示所述内容节点的子节点的总个数;
α表示预设系数,其中,α的取值范围为(0.5,1)。
可选地,所述第一确定模块300包括以下中的至少一者:
第一合并子模块,用于将在不同dom树中具有相同文本和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径;
第二合并子模块,用于将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径;
第三合并子模块,用于将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点子网分为一组,当该组节点子网中的节点子网数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点子网中的每个节点子网在所属dom树中的路径进行合并,获得所述第一特征路径。
可选地,所述装置10还包括:
第四确定模块,用于在确定出所述第一特征路径之后,将所述第一特征路径上的至少一个节点分别作为目标节点,确定当前页面分组下包括该目标节点且该目标节点在其中具有子节点的dom树为目标dom树;
第五确定模块,用于当所述目标dom树为多个时,从多个所述目标dom树中的各条候选路径中,根据候选路径的子节点之间的相似度参数,确定能够被合并的候选路径,并对确定出的能够被合并的候选路径进行合并,获得第二特征路径,其中,所述候选路径为所述目标dom树中,所述目标节点与该目标节点的一个子节点形成的路径;
所述第一确定模块300用于:
根据所述第一特征路径和所述第二特征路径,确定当前页面分组中的内容节点。
可选地,所述第三确定模块500包括:
第一标记子模块,用于在权重最大的内容节点的父节点除该内容节点外不存在其他子节点时,为所述权重最大的内容节点的父节点标记正文标识。
可选地,所述装置10还包括:
编号模块,用于在确定出所述内容节点之后,按照广度优先的顺序对所述内容节点进行编号;
所述第三确定模块500还包括:
第一确定子模块,用于将序号小于所述正文标识对应的节点的序号的内容节点中,文本变化度超过第二阈值的节点确定为潜在标题节点;
第二标记子模块,用于在所述潜在标题节点满足以下条件中的任一者时,为所述潜在标题节点标记标题标识:
所述潜在标题节点的数量为一个;
所述潜在标题节点对应HTML标签中的标题标签;
所述潜在标题节点的属性中包含标题属性;
所述潜在标题节点对应的文本平均长度低于第三阈值、且对应的文本长度的标准差低于第四阈值;
在当前页面分组的包括所述潜在标题节点的页面中,满足所述潜在标题节点对应的文本与所属页面的显示标题内容相似这一条件的页面数量、与所述当前页面分组中的页面总数的比值超过第五阈值。
可选地,所述第三确定模块500还包括:
第三标记子模块,用于为序号小于所述正文标识对应的节点的序号、且与所述标题标识对应的节点的层级距离在预设范围内的节点中,图片变化度大于第六阈值、且对应标签不为<meta>标签以及不包含与作者有关的关键词的内容节点标记页面首部图片标识。
可选地,所述装置10还包括:
标记模块,用于在所述第一标记子模块为所述权重最大的内容节点的父节点标记正文标识之后,在所述正文标识对应的节点的各子节点中,确定包含冗余信息的子节点,并为所述包含所述冗余信息的子节点标记冗余标识。
可选地,所述装置10还包括:
第二生成模块,用于至少根据所述第一特征路径和所述内容节点对应的标识,生成页面内容划分模板,并将所述页面内容划分模板与当前页面分组的分组标识相关联;
第一获取模块,用于获取校验页面集合;
第六确定模块,用于将在所述校验页面集合下的各个页面中均出现的节点确定为校验节点;
第二获取模块,用于获取校验节点集合,所述校验节点集合包括至少一个所述校验节点;
第七确定模块,用于在确定除当前页面分组之外的其他页面分组下的各页面中都不包含所述校验节点集合时,将所述校验节点集合确定为当前页面分组对应的关键节点,其中,所述关键节点用于唯一表示当前页面分组对应的页面内容划分模板。
可选地,所述校验页面集合包括当前页面分组中除第一页面之外的页面,所述第一页面为其中孤立节点占该页面节点总数的比例超过第七阈值的页面,所述孤立节点包括第一节点和第二节点,所述第一节点为该页面中未与当前页面分组下的其他页面中的节点进行过路径合并的节点,所述第二节点为该页面中与当前页面分组下的其他页面中的节点进行过路径合并、但合并节点总数与当前页面分组下的dom树总数的比值低于第八阈值的节点,所述合并节点总数为包括该第二节点和与该第二节点进行合并的节点在内的节点的数量。
可选地,所述装置10还包括:
第八确定模块,用于在第一页面中不包括正文标识对应的节点时,将该第一页面确定为第二页面;
创建模块,用于在第二页面的总数与当前页面分组的页面总数的比值超过第九阈值时,为所述第二页面创建新的页面分组,并将所述第二页面从所述当前页面分组中删除。
可选地,所述第三确定模块500还包括:
第四标记子模块,用于为对应于满足时间格式的文本的内容节点标记发布时间标识。
可选地,所述第三确定模块500,包括:
第五标记子模块,用于为出现频率大于预设的频率阈值、且权重小于预设的权重阈值的内容节点标记冗余标识,其中,所述出现频率为在当前页面分组下包括该内容节点的dom树与当前页面分组下的dom树总数的比值。
可选地,所述装置10还包括:
第三获取模块,用于获取待划分页面;
第九确定模块,用于根据所述待划分页面的URL确定与所述待划分页面对应的目标页面内容划分模板;
划分模块,用于基于所述目标页面内容划分模板,对所述待划分页面进行页面内容提取并划分。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种电子设备700的框图。如图5所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的页面内容划分方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的页面内容划分方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的页面内容划分方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的页面内容划分方法。
图6是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图6,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的页面内容划分方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的页面内容划分方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的页面内容划分方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (16)

1.一种页面内容划分方法,其特征在于,所述方法包括:
根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构;
针对每一页面分组,生成当前页面分组下的各个页面对应的dom树;
针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据所述第一特征路径确定当前页面分组中的内容节点;
确定所述内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度;
根据所述内容节点的权重,确定所述内容节点对应的标识,以进行页面内容划分;
其中,所述根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,包括以下中的至少一者:
将在不同dom树中具有相同文本和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径;
将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径;
将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点子网分为一组,当该组节点子网中的节点子网数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点子网中的每个节点子网在所属dom树中的路径进行合并,获得所述第一特征路径。
2.根据权利要求1所述的方法,其特征在于,通过以下公式确定所述内容节点的权重:
Figure FDA0002252319330000021
其中,Pweight表示所述内容节点的权重;
variability表示所述内容节点的文本变化度,其中,所述内容节点对应的文本为包含该内容节点的路径上对应的同级节点的文本的集合,所述文本变化度为该文本的集合中不同文本的个数与当前页面分组下包含该内容节点的dom树的总数的比值;
length表示所述内容节点的文本平均长度;
Cweighti表示所述内容节点的第i个子节点的权重;
n表示所述内容节点的子节点的总个数;
α表示预设系数,其中,α的取值范围为(0.5,1)。
3.根据权利要求1所述的方法,其特征在于,在确定出所述第一特征路径之后,所述方法还包括:
将所述第一特征路径上的至少一个节点分别作为目标节点,执行如下操作:
确定当前页面分组下包括该目标节点且该目标节点在其中具有子节点的dom树为目标dom树;
当所述目标dom树为多个时,从多个所述目标dom树中的各条候选路径中,根据候选路径的子节点之间的相似度参数,确定能够被合并的候选路径,并对确定出的能够被合并的候选路径进行合并,获得第二特征路径,其中,所述候选路径为所述目标dom树中,所述目标节点与该目标节点的一个子节点形成的路径;
所述至少根据所述第一特征路径确定当前页面分组中的内容节点,包括:
根据所述第一特征路径和所述第二特征路径,确定当前页面分组中的内容节点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述内容节点的权重,确定所述内容节点对应的标识,包括:
若权重最大的内容节点的父节点除该内容节点外不存在其他子节点,为所述权重最大的内容节点的父节点标记正文标识。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在确定出所述内容节点之后,按照广度优先的顺序对所述内容节点进行编号;
所述根据所述内容节点的权重,确定所述内容节点对应的标识,还包括:
将序号小于所述正文标识对应的节点的序号的内容节点中,文本变化度超过第二阈值的节点确定为潜在标题节点;
在所述潜在标题节点满足以下条件中的任一者时,为所述潜在标题节点标记标题标识:
所述潜在标题节点的数量为一个;
所述潜在标题节点对应HTML标签中的标题标签;
所述潜在标题节点的属性中包含标题属性;
所述潜在标题节点对应的文本平均长度低于第三阈值、且对应的文本长度的标准差低于第四阈值;
在当前页面分组的包括所述潜在标题节点的页面中,满足所述潜在标题节点对应的文本与所属页面的显示标题内容相似这一条件的页面数量、与所述当前页面分组中的页面总数的比值超过第五阈值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述内容节点的权重,确定所述内容节点对应的标识,还包括:
为序号小于所述正文标识对应的节点的序号、且与所述标题标识对应的节点的层级距离在预设范围内的节点中,图片变化度大于第六阈值、且对应标签不为<meta>标签以及不包含与作者有关的关键词的内容节点标记页面首部图片标识。
7.根据权利要求4所述的方法,其特征在于,在所述为所述权重最大的内容节点的父节点标记正文标识的步骤之后,所述方法还包括:
在所述正文标识对应的节点的各子节点中,确定包含冗余信息的子节点,并为所述包含所述冗余信息的子节点标记冗余标识。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
至少根据所述第一特征路径和所述内容节点对应的标识,生成页面内容划分模板,并将所述页面内容划分模板与当前页面分组的分组标识相关联;
获取校验页面集合;
将在所述校验页面集合下的各个页面中均出现的节点确定为校验节点;
获取校验节点集合,所述校验节点集合包括至少一个所述校验节点;
在确定除当前页面分组之外的其他页面分组下的各页面中都不包含所述校验节点集合时,将所述校验节点集合确定为当前页面分组对应的关键节点,其中,所述关键节点用于唯一表示当前页面分组对应的页面内容划分模板。
9.根据权利要求8所述的方法,其特征在于,
所述校验页面集合包括当前页面分组中除第一页面之外的页面,所述第一页面为其中孤立节点占该页面节点总数的比例超过第七阈值的页面,所述孤立节点包括第一节点和第二节点,所述第一节点为该页面中未与当前页面分组下的其他页面中的节点进行过路径合并的节点,所述第二节点为该页面中与当前页面分组下的其他页面中的节点进行过路径合并、但合并节点总数与当前页面分组下的dom树总数的比值低于第八阈值的节点,所述合并节点总数为包括该第二节点和与该第二节点进行合并的节点在内的节点的数量。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若第一页面中不包括正文标识对应的节点,将该第一页面确定为第二页面;
若第二页面的总数与当前页面分组的页面总数的比值超过第九阈值,为所述第二页面创建新的页面分组,并将所述第二页面从所述当前页面分组中删除。
11.根据权利要求1所述的方法,其特征在于,所述根据所述内容节点的权重,确定所述内容节点对应的标识,还包括:
为对应于满足时间格式的文本的内容节点标记发布时间标识。
12.根据权利要求1所述的方法,其特征在于,所述根据所述内容节点的权重,确定所述内容节点对应的标识,包括:
为出现频率大于预设的频率阈值、且权重小于预设的权重阈值的内容节点标记冗余标识,其中,所述出现频率为在当前页面分组下包括该内容节点的dom树与当前页面分组下的dom树总数的比值。
13.根据权利要求1-12中任一项所述的方法,其特征在于,所述方法还包括:
获取待划分页面;
根据所述待划分页面的URL确定与所述待划分页面对应的目标页面内容划分模板;
基于所述目标页面内容划分模板,对所述待划分页面进行页面内容提取并划分。
14.一种页面内容划分装置,其特征在于,所述装置包括:
分组模块,用于根据页面URL对多个页面进行分组,其中,每个页面分组分别对应于一种页面结构;
第一生成模块,用于针对每一页面分组,生成当前页面分组下的各个页面对应的dom树;
第一确定模块,用于针对每一页面分组,根据当前页面分组下的各个dom树,确定能够代表当前页面分组对应的页面结构的第一特征路径,并至少根据所述第一特征路径确定当前页面分组中的内容节点;
第二确定模块,用于确定所述内容节点的权重,其中,所述权重用于表征所述内容节点所包含的信息的变化程度;
第三确定模块,用于根据所述内容节点的权重,确定所述内容节点对应的标识,以进行页面内容划分;
其中,所述第一确定模块包括以下中的至少一者:
第一合并子模块,用于将在不同dom树中具有相同文本和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径;
第二合并子模块,用于将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点分为一组,当该组节点中的节点数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点中的每个节点在所属dom树中的路径进行合并,获得所述第一特征路径;
第三合并子模块,用于将在所属dom树中只出现一次,且在不同dom树中具有相同标签属性和路径的节点子网分为一组,当该组节点子网中的节点子网数量与当前页面分组下的dom树总数的比值超过第一阈值时,将该组节点子网中的每个节点子网在所属dom树中的路径进行合并,获得所述第一特征路径。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-13中任一项所述方法的步骤。
16.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-13中任一项所述方法的步骤。
CN201811447612.XA 2018-11-29 2018-11-29 页面内容划分方法、装置、可读存储介质及电子设备 Active CN109710864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811447612.XA CN109710864B (zh) 2018-11-29 2018-11-29 页面内容划分方法、装置、可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811447612.XA CN109710864B (zh) 2018-11-29 2018-11-29 页面内容划分方法、装置、可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN109710864A CN109710864A (zh) 2019-05-03
CN109710864B true CN109710864B (zh) 2020-01-24

Family

ID=66255209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811447612.XA Active CN109710864B (zh) 2018-11-29 2018-11-29 页面内容划分方法、装置、可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN109710864B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527621A (zh) * 2019-09-17 2021-03-19 中移动信息技术有限公司 测试路径构建方法、装置、设备及存储介质
CN111506838A (zh) * 2020-03-31 2020-08-07 北京三快在线科技有限公司 浏览器中标签页的展示方法和装置、介质、设备
CN112434070A (zh) * 2020-12-14 2021-03-02 四川长虹电器股份有限公司 一种基于相似度算法的分页查询方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012154326A1 (en) * 2011-04-01 2012-11-15 Harman International (Shanghai) Management Co., Ltd. System and method for web text content aggregation and presentation
CN104834717A (zh) * 2015-05-11 2015-08-12 浪潮集团有限公司 一种基于网页聚类的Web信息自动抽取方法
CN105183730A (zh) * 2014-05-30 2015-12-23 北大方正集团有限公司 网页信息的处理方法和装置
CN105740370A (zh) * 2013-05-10 2016-07-06 合肥工业大学 一种在线Web新闻内容抽取系统
US9430583B1 (en) * 2011-06-10 2016-08-30 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
CN107450929A (zh) * 2017-08-10 2017-12-08 武汉斗鱼网络科技有限公司 页面开发方法及装置
CN108255975A (zh) * 2017-12-27 2018-07-06 东软集团股份有限公司 模板构建方法、页面内容抓取方法及装置、介质及设备
CN108874934A (zh) * 2018-06-01 2018-11-23 百度在线网络技术(北京)有限公司 页面正文提取方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890681B (zh) * 2011-07-20 2016-03-09 阿里巴巴集团控股有限公司 一种生成网页结构模板的方法及系统
CN103246732B (zh) * 2013-05-10 2016-02-24 合肥工业大学 一种在线Web新闻内容的抽取方法及系统
CN108268433B (zh) * 2018-02-26 2019-06-11 杭州数梦工场科技有限公司 基于网页文章的标题抽取方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012154326A1 (en) * 2011-04-01 2012-11-15 Harman International (Shanghai) Management Co., Ltd. System and method for web text content aggregation and presentation
US9430583B1 (en) * 2011-06-10 2016-08-30 Salesforce.Com, Inc. Extracting a portion of a document, such as a web page
CN105740370A (zh) * 2013-05-10 2016-07-06 合肥工业大学 一种在线Web新闻内容抽取系统
CN105183730A (zh) * 2014-05-30 2015-12-23 北大方正集团有限公司 网页信息的处理方法和装置
CN104834717A (zh) * 2015-05-11 2015-08-12 浪潮集团有限公司 一种基于网页聚类的Web信息自动抽取方法
CN107450929A (zh) * 2017-08-10 2017-12-08 武汉斗鱼网络科技有限公司 页面开发方法及装置
CN108255975A (zh) * 2017-12-27 2018-07-06 东软集团股份有限公司 模板构建方法、页面内容抓取方法及装置、介质及设备
CN108874934A (zh) * 2018-06-01 2018-11-23 百度在线网络技术(北京)有限公司 页面正文提取方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于内容组的网站访问者路径分析;张如云;《计算机时代》;20140531;第23-24,27页 *
基于标签路径特征融合的在线Web新闻内容抽取;吴共庆等;《软件学报》;20160331;第714-735页 *

Also Published As

Publication number Publication date
CN109710864A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
RU2595594C2 (ru) Способ и устройство для автоматического аннотирования содержимого электронных документов
US9411790B2 (en) Systems, methods, and media for generating structured documents
CN104408191B (zh) 关键词的关联关键词的获取方法和装置
CN109710864B (zh) 页面内容划分方法、装置、可读存储介质及电子设备
WO2015047920A1 (en) Title and body extraction from web page
US8868556B2 (en) Method and device for tagging a document
EP2724256A1 (en) System and method for matching comment data to text data
CN109582886B (zh) 页面内容提取方法、模板的生成方法及装置、介质及设备
JP2005352888A (ja) 表記揺れ対応辞書作成システム
US20160314348A1 (en) Mathematical formula learner support system
US20180276212A1 (en) Estimating article publication dates and authors based on social media context
JP6867963B2 (ja) 要約評価装置、方法、プログラム、及び記憶媒体
KR20190090636A (ko) 문서 자동 편집 방법
CN105512335B (zh) 一种摘要搜索方法和装置
CN109726338B (zh) 页面体裁划分方法、装置、可读存储介质及电子设备
CN113127776A (zh) 面包屑路径生成方法、装置及终端设备
JP2012059212A (ja) 抽出装置、抽出方法及び抽出プログラム
CN111897965B (zh) 话题生成方法、装置、存储介质和电子设备
CN107220249B (zh) 基于分类的全文搜索
JP5184195B2 (ja) 言語処理装置およびプログラム
CN111708891B (zh) 一种多源食材数据之间的食材实体链接方法和装置
CN107783957B (zh) 本体创建方法和装置
JP2019174929A (ja) 違法コンテンツ探索装置、違法コンテンツ探索方法およびプログラム
JP5879150B2 (ja) フレーズ検出装置およびそのプログラム
JP2005222244A (ja) 単語検索装置、単語検索方法、およびその単語検索装置を備える情報提供システム

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