CN102890681A - 一种生成网页结构模板的方法及*** - Google Patents
一种生成网页结构模板的方法及*** Download PDFInfo
- Publication number
- CN102890681A CN102890681A CN2011102044335A CN201110204433A CN102890681A CN 102890681 A CN102890681 A CN 102890681A CN 2011102044335 A CN2011102044335 A CN 2011102044335A CN 201110204433 A CN201110204433 A CN 201110204433A CN 102890681 A CN102890681 A CN 102890681A
- Authority
- CN
- China
- Prior art keywords
- node
- webpage
- dom
- attribute
- dom tree
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种生成网页结构模板的方法及***,以解决获取不同站点的网页结构模板的问题。所述方法包括:对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,并将该DOM树模板作为集合的网页结构模板。本申请利用不同站点的样本网页就可以自动分析出不同站点的网页结构模板,从而为网页信息抽取等应用提供了方便。
Description
技术领域
本申请涉及网页处理技术,特别是涉及一种生成网页结构模板的方法及***。
背景技术
互联网中的大部分网页都是利用动态网页技术生成。动态网页技术使用固定的网页结构模板生成动态网页,当用户向服务器发送请求时,服务器通过脚本语言提取出保存在数据库中的网页内容,填充进网页结构模板中,并呈现给终端用户。
在各种基于互联网的应用中,获取这些动态页面的结构模板,可以为压缩页面数据、抽取网页信息提供极大的支持。而对于一般的互联网应用,都是针对站点自身的应用,因此不存在不了解网页结构模板的情况。
但是,对于面向整个互联网或多个站点的应用,如搜索引擎、网页信息抽取等,需要抓取和分析大量不同站点的网页,这些网页大部分都是由动态页面技术生成的。因此,如何获取不同站点的网页结构模板,以便在信息抽取的环节提供信息定位以及批量处理数据,成为一个亟待解决的问题。
发明内容
本申请提供了一种生成网页结构模板的方法及***,以解决获取不同站点的网页结构模板的问题。
为了解决上述问题,本申请公开了一种生成网页结构模板的方法,包括:
对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;
针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;
通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,并将该DOM树模板作为集合的网页结构模板。
优选的,所述对应每个集合分别生成一个DOM树模板之后,还包括:对每个DOM树模板自顶向下分别进行重复遍历,每次遍历时查找DOM树模板中是否存在DOM结构相同的兄弟节点:如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性,然后完成本次遍历后继续下一次的自顶向下遍历;如果完成本次遍历后整个DOM树模板中都不存在DOM结构相同的兄弟节点,则结束遍历;将所述不存在DOM结构相同的兄弟节点的DOM树模板作为集合对应的网页结构模板。
优选的,所述对集合中所有网页的DOM树结构进行分析之前,还包括:对每个DOM树自顶向下进行遍历,遍历时查找每个DOM树中是否存在DOM结构相同的兄弟节点,如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性。
优选的,所述通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,包括:对集合中所有网页的DOM树结构自顶向下进行以下处理:
S1.确定当前节点,并从所述集合中获取包含当前节点的网页子集合;
S2.对所述网页子集合中的每个网页DOM树中当前节点的下一层孩子节点进行编号;
S3.对所述网页子集合的所有DOM树中编号的下一层孩子节点进行不同DOM树的两两对齐;
S4.根据对齐结果生成集合的DOM树模板中对应下一层孩子节点的结构模板;
S5.遍历所述对应下一层孩子节点的结构模板,将所述结构模板中的每个节点分别作为当前节点,重复S1至S5,直至下一层没有孩子节点为止。
优选的,所述步骤S3包括:针对所述网页子集合的所有DOM树中编号的下一层孩子节点,将不同DOM树中具有任一唯一属性的节点进行两两对齐,并将对齐的节点进行标记;根据标记节点的对齐位置分割出不同DOM树中未标记的剩余节点,然后对所述未标记的剩余节点进行不同DOM树的对齐操作。
优选的,所述唯一属性包括:
唯一标签名称,和/或
唯一id,和/或
唯一class属性,和/或
唯一href属性,和/或
唯一alt属性,和/或
唯一文字。
优选的,对所述未标记的剩余节点进行不同DOM树的对齐操作,包括:将不同DOM树中未标记的剩余节点进行两两对齐的组合;对每一种组合方案计算编辑距离;选择编辑距离最短的对齐方案进行对齐。
优选的,所述对每一种组合方案计算编辑距离,包括:设置每一种组合方案的初始编辑距离;在每一种组合方案的对齐过程中,每删除一个节点,则编辑距离加上预置的权重值;每添加一个节点,则编辑距离也加上预置的权重值;对齐结束后,得到每一种组合方案的最终编辑距离。
优选的,所述步骤S4包括:将对齐结果中所有没有在网页子集合的全部页面中出现并且位置确定的节点标注为OPTION属性;将对齐结果中所有没有在网页子集合的全部页面中出现,在相同位置但不能对齐的节点标注为ALTERNATIVE属性,同时这些节点组成GROUP;在对齐结果中,如果当前层OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则开始判断是否标注RANDOMGROUP属性,标注RANDOMGROUP的条件是同时满足以下两个条件:第一,第一个OPTION或ALTERNATIVE开始至最后一个OPTION或ALTERNATIVE结束的区间中的文本修饰标签数量的比例超过阈值;第二,所述区间中的标签存在重复出现的情况。
优选的,所述对样本网页进行相似网页的聚合计算,得到相似网页构成的集合,包括:获取样本网页;将样本网页按照域名进行分类;对每一类样本网页按照URL路径进行划分;对每种按照URL路径划分出来的样本网页再按照URL模式进行划分;对每种URL模式下的样本网页计算相似度,得到相似网页构成的集合。
本申请还提供了一种生成网页结构模板的***,包括:
网页聚合模块,用于对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;
页面结构解析模块,用于针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;
模板生成模块,用于通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,并将该DOM树模板作为集合的网页结构模板。
优选的,所述模板生成模块包括:
第一处理子模块,用于确定当前节点,并从所述集合中获取包含当前节点的网页子集合;
第二处理子模块,对所述网页子集合中的每个网页DOM树中当前节点的下一层孩子节点进行编号;
第三处理子模块,对所述网页子集合的所有DOM树中编号的下一层孩子节点进行不同DOM树的两两对齐;
第四处理子模块,根据对齐结果生成集合的DOM树模板中对应下一层孩子节点的结构模板;
第五处理子模块,遍历所述对应下一层孩子节点的结构模板,将所述结构模板中的每个节点分别作为当前节点,重复第一处理子模块至第五处理子模块的处理,直至下一层没有孩子节点为止。
优选的,所述第三处理子模块包括:
唯一属性对齐单元,用于针对所述网页子集合的所有DOM树中编号的下一层孩子节点,将不同DOM树中具有任一唯一属性的节点进行两两对齐,并将对齐的节点进行标记;
其他节点对齐单元,用于根据标记节点的对齐位置分割出不同DOM树中未标记的剩余节点,然后对所述未标记的剩余节点进行不同DOM树的对齐操作。
优选的,所述第四处理子模块包括:
OPTION属性标注单元,用于将对齐结果中所有没有在网页子集合的全部页面中出现并且位置确定的节点标注为OPTION属性;
ALTERNATIVE属性标注单元,用于将对齐结果中所有没有在网页子集合的全部页面中出现,在相同位置但不能对齐的节点标注为ALTERNATIVE属性,同时这些节点组成GROUP;
RANDOMGROUP属性标注单元,用于在对齐结果中,如果当前层OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则开始判断是否标注RANDOMGROUP属性,标注RANDOMGROUP的条件是同时满足以下两个条件:
第一,第一个OPTION或ALTERNATIVE开始至最后一个OPTION或ALTERNATIVE结束的区间中的文本修饰标签数量的比例超过阈值;
第二,所述区间中的标签存在重复出现的情况。
与现有技术相比,本申请包括以下优点:
本申请提供了一种自动化的网页结构模板生成方法及***,该方法首先通过对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;然后利用改进的树编辑算法和一套预定义的页面元素属性,对每个集合中的网页进行页面结构的分析,最终对应每个集合分别生成一个DOM树模板,所述DOM树模板即为动态网页的结构模板。由此可知,本申请利用不同站点的样本网页就可以自动分析出不同站点的网页结构模板,从而为网页信息抽取等应用提供了方便。
附图说明
图1是本申请实施例所述一种生成网页结构模板的方法流程图;
图2是本申请实施例中网页聚合的示意图;
图3是本申请实施例中生成一个DOM树模板的流程图;
图4是本申请实施例中生成DOM树模板的示例图;
图5是本申请实施例中通过唯一属性对齐的示意图;
图6是本申请实施例中根据编辑距离选择对齐方案的示意图;
图7是本申请实施例中同时具备GROUP属性和LOOP属性的结构示意图;
图8是本申请实施例中标注OPTION属性的示意图;
图9是本申请实施例中标注ALTERNATIVE属性的示意图;
图10是本申请实施例中标注RANDOMGROUP属性的示意图;
图11是本申请实施例所述一种生成网页结构模板的***结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请提供了一种生成网页结构模板的方法及***,通过对网页进行聚类分析,获得相似页面的集合,并利用改进的树编辑算法和一套预定义的页面元素属性,对集合页面进行分析,从而自动化地生成动态网页的结构模板。
下面通过实施例对本申请所述方法的实现流程进行详细说明。
参照图1,是本申请实施例所述一种生成网页结构模板的方法流程图。
步骤101,对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;
所述样本网页包含多个站点的动态网页,因此最终生成的网页结构模板可能为多个。具体的网页聚合过程可参见图2,将在后面详述。
步骤102,针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;
目前普遍使用DOM树来描述网页的页面结构。DOM全称是DocumentObject Model,即文档对象模型。DOM是一种用于HTML和XML文档的编程接口,它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。
脚本开发人员可以通过文档对象的属性、方法和事件来掌控、操纵和创建动态的网页元素。每一个网页元素(如一个HTML标签)都对应着一个对象(object,所谓“对象”,用白话说就是“东西”)。网页上的标签是一层层嵌套的,最外面的一层是<HTML>,文档对象模型也这样一层层嵌套着,但是通常被理解成一棵树的形状。树根是window或document对象,相当于最外层的标签的***,也就是整个文档。树根之下是子一级的对象,子对象也有它自己的子对象,除了根对象以外,所有的对象都有自己的父对象,同一对象的子对象之间就是兄弟的关系。
在这种由“父子兄弟”组成的“单性繁殖家族图谱树”框架结构中,每个网页元素都可以被确切地定位。文档对象模型把整张网页组织成这样的一个树状的结构,树结构中的每一个元素都被视为一个节点(node)。包括JavaScript在内的各种编程语言都可以通过文档对象模型来访问和改变网页的各种细节。
基于以上对DOM的介绍,通过对所有集合中的网页进行结构分析,可以获得每个网页对应的一个DOM树。具体的DOM分析方法可采用现有技术中的任何一种方法,本申请实施例对此不做任何限制。
步骤103,对每个DOM树识别兄弟节点之间的重复结构;
本步骤是优选步骤,可以在本实施例中执行,也可以跳过而直接进入下一步骤104。
其中,所述重复结构是指DOM结构完全相同的兄弟节点。识别重复结构时可以严格地匹配兄弟节点所代表的子树,如果子树匹配的节点数大于或等于某个阈值,例如大于或等于2个,则这几个兄弟节点就存在重复结构。
基于所述识别方法,一种具体的实现方法是:
对每个DOM树自顶向下进行遍历,遍历时查找每个DOM树中是否存在DOM结构相同的兄弟节点,如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性。
其中,所述LOOP属性是指重复出现的节点所具有的一种页面元素属性,此处标注的目的是为了最终生成一个带有页面元素属性的网页结构模板,其他页面元素属性的标注将在后面的内容中进行详细说明。
由上可知,识别出兄弟节点之间的重复结构,就可以将这些具有重复结构的节点进行合并,从而为后面的对齐处理做准备,因为3个节点产生的LOOP节点与5个节点产生的LOOP节点,在之后的环节中就能被对齐了。此外,还因为这些具有重复结构的节点在最终生成的网页结构模板中的结构是完全一样的,所以这种合并相当于生成模板之前的预处理,可以提高模板生成的准确性。
步骤104,通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板;
本实施例中,采用改进的树编辑算法和一套预定义的页面元素属性,对集合中的所有页面进行分析,最终生成一个带有节点特性的DOM树结构来描述这个集合中的所有网页。如果有多个集合,则会生成多个DOM树模板,每个DOM树模板对应一个集合。
现有技术中,树编辑算法常用于相似度计算中,而本实施例对这种树编辑算法进行了改进,并用于生成网页结构模板。改进后的树编辑算法的具体实现过程将在后面的内容中说明。
此外,本实施例还使用一套预定义的页面元素属性来描述网页结构模板(即DOM树模板)中的节点特性。所述预定义的页面元素属性包括:
●NORMAL
一般节点
●LOOP
重复出现的节点
●GROUP
绑定多个节点,对节点序列有顺序要求
●RANDOMGROUP
绑定多个节点,组中的节点可以以任意次序重复出现
●OPTION
可能出现的节点,可以不出现
●ALTERNATIVE
多选一的情况
这些属性的标注也将在图3所示流程中说明。
因此,对应每个集合生成的网页结构模板不仅是一个DOM树,还是一个具有节点特性描述的DOM树。
步骤105,对每个DOM树模板迭代查找重复结构,直至模板结构不再发生变化。
本步骤是优选步骤,可以在本实施例的步骤104之后执行,也可以不执行本步骤而在步骤104就结束整个流程,即直接将步骤104生成的DOM树模板作为集合对应的最终网页结构模板。
在实际应用中,通过步骤104生成的DOM树模板中还可能在兄弟节点之间存在重复结构。由于DOM树模板中有许多节点的属性被标注,所以原先发现不了的重复结构可能被发现,从而避免重复结构的出现,进一步优化了模板结构。
一种具体的迭代查找方法是:
对每个DOM树模板自顶向下分别进行重复遍历,每次遍历时查找DOM树模板中是否存在DOM结构相同的兄弟节点:
如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性,然后继续其他节点的遍历,当完成本次所有节点的遍历后再继续下一次自顶向下的重新遍历;
如果完成本次遍历后整个DOM树模板中都不存在DOM结构相同的兄弟节点,则表明该DOM树模板的结构不再发生变化,因此可以结束迭代遍历的过程。
最后,将所述不存在DOM结构相同的兄弟节点的DOM树模板,即结构不再发生变化的DOM树模板作为集合对应的最终网页结构模板。
需要说明的是,在标注了OPTION、LOOP等上述列举的属性之后,这些属性在判断DOM结构是否相同中也起作用,如OPTION节点在判断结构相同的时候,匹配与不匹配都不影响最终的判断结果。
综上所述,利用不同站点的样本网页,经过上述步骤的处理,就可以自动分析出不同站点的网页结构模板,从而为网页信息抽取等应用提供了方便。
为了使本领域技术人员更加了解本申请的内容,下面通过图2至图10进行更详细的说明。
1.对于图1中的步骤101,对样本网页进行相似网页的聚合计算,得到相似网页构成的集合,可采用图2所示的具体实现方法。
参照图2,是本申请实施例中网页聚合的示意图。
对照图2,对样本网页进行相似网页聚合计算的过程如下:
1)获取样本网页;
通过抓取器从各个站点抓取互联网页面,并将抓取到的互联网页面作为样本网页;
2)将样本网页按照域名进行分类;
即将所有的样本网页划分到各自所述的“域(domain)”中;
3)对每一类样本网页按照URL路径进行划分;
例如,一个站点的所有网页属于同一个“域”,将这个站点的所有网页按照每一层URL路径进行划分,即可以划分为新闻类网页、军事类网页、体育类网页、财经类网页等等;
4)对每种按照URL路径划分出来的样本网页再按照URL模式进行划分;
所述URL模式就是一类URL具有的普遍规则,例如,对于下述新闻类的网页,
http://news.sina.com.cn/c/2011-06-14/122522638158.shtml
http://news.sina.com.cn/c/2011-06-14/122022638179.shtml
http://news.sina.com.cn/c/2011-06-14/080322636461.shtml
推导出的URL模式是:
http://news.sina.com.cn/c/[date]/[number].shtml
其中,[date]表示时间,[number]表示数字。
5)对每种URL模式下的样本网页计算相似度,得到相似网页构成的集合。
相似度计算方法有多种选择,可以使用文本相似度算法,也可以依据传统的树编辑算法计算相似度,若超过阈值,则认为网页相似。本申请实施例对相似度的计算方法没有限制,可采用现有的任意一种计算方法,得到如图2所示的集合A、集合B、...,每个集合中包含多个相似网页。
2.对于图1中的步骤104,通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,可采用图3所示的具体实现方法。
如前所述,本申请实施例采用改进的树编辑算法和一套预定义的页面元素属性,对集合中的所有页面进行分析,最终生成一个带有节点特性的DOM树结构来描述这个集合中的所有网页。
下面将以某一个集合中的所有网页为例,说明如何生成对应这个集合的网页结构模板。
参照图3,是本申请实施例中生成一个DOM树模板的流程图。
参照图4,是本申请实施例中生成DOM树模板的示例图。
下面将对照图4的示例,对图3的每个步骤进行解释说明。
一个集合中所有网页的DOM树结构自顶向下进行以下处理:
S1.确定当前节点,并从所述集合中获取包含当前节点的网页子集合;
首先是将集合中所有网页的DOM树的根节点都确定为当前节点,由于每个网页的DOM树只有唯一一个根节点,因此首次包含当前节点的网页子集合中将包含这个集合中所有的网页。
对照图4,假设一个集合中包含100个网页,首次将这100个网页的DOM树根节点作为当前节点,则提取出的网页子集合包含所有的100个网页,即图中n首次取值100。
S2.对所述网页子集合中的每个网页DOM树中当前节点的下一层孩子节点进行编号;
其中,所述当前节点的下一层孩子节点是指与当前节点直接相连的下一层节点,不包含孩子的孩子节点。
对照图4,网页1(Page1)中根节点的下一层孩子节点包含三个,分别编号为①、②、③;网页2(Page2)中根节点的下一层孩子节点包含两个,分别编号为④、⑤,等等,一直到网页n(Pagen)中根节点的下一层孩子节点x、y、z。由此可知,所述编号一般为不同的号码。当然,根据实际应用的不同,也可以采用其他方式进行编号。
S3.对所述网页子集合的所有DOM树中编号的下一层孩子节点进行不同DOM树的两两对齐;
所述对齐是指按照一定的策略将不同网页DOM树的节点进行两两网页的对齐,其中两两对齐的是不同DOM树中属于同一层的节点。本步骤具体采用的对齐方法将在后面的内容中详细说明,下面首先通过图4解释对齐的含义。
例如,对照图4,按照一定的对齐策略,可以将网页1(Page1)中编号为①的节点与网页2(Page2)中编号为④的节点进行两两对齐,并将编号④改为编号①;将网页1(Page1)中编号为②的节点与网页2(Page2)中编号为⑤的节点进行两两对齐,并将编号⑤改为编号②。
以此对齐方式,最后还可以将网页n(Page n)中编号为y的节点与网页2(Page2)中编号为①的节点进行两两对齐,并将编号y改为编号①;将网页n(Page n)中编号为z的节点与网页2(Page2)中编号为②的节点进行两两对齐,并将编号z改为编号②。
经过以上对齐操作,最终得到这100个网页的根节点的下一层孩子节点的对齐结果,所述对齐结果为x、①、②、③。其中,节点x只出现在网页n(Page n)中,节点③只出现在网页1(Page 1)中,节点①和②在网页1(Page1)至网页n(Page n)中均出现过。
S4.根据对齐结果生成集合的DOM树模板中对应下一层孩子节点的结构模板;
一个集合将生成一个DOM树模板,即用这一个DOM树模板来描述集合中所有网页的DOM树结构。本步骤具体采用的生成模板的方法将在后面的内容中详细说明,下面首先通过图4解释模板的含义。
对照图4,根据对齐结果生成的DOM树模板中对应根节点下一层孩子节点的结构模板表示为x、①、②、③,并且这四个节点还具有节点属性。其中,由于节点x和节点③并非在当前网页子集合的所有网页中出现,而只出现在部分网页中,因此这两个节点的属性标注为OPTION,即表示是可选节点。由于节点①和②在当前网页子集合的所有网页中均出现,因此这两个节点的属性可标注为NORMAL,即表示是一般节点。
综上,图4中对应根节点的下一层孩子节点的结构模板,表示所有这100个网页的DOM树中,位于每个根节点的下一层孩子节点都可以通过节点x、①、②、③及其属性进行描述。
S5.遍历所述对应下一层孩子节点的结构模板,将所述结构模板中的每个节点分别作为当前节点,重复S1至S5,直至下一层没有孩子节点为止。
对照图4,遍历对应根节点的下一层孩子节点的结构模板x、①、②、③,其中每个节点将作为当前节点重复S1至S5,直至下一层没有孩子节点为止。例如,首先以节点x作为当前节点,返回S1循环执行;然后以节点①作为当前节点,返回S1循环执行;以此类推,直到将节点③作为当前节点,返回S1循环执行。
由上述图3的S1至S5以及图4所述的示例可以看出,所述对齐操作是一个不断重复迭代的过程,每次对齐只对齐属于同一层的节点,每次迭代生成的结构模板中每个节点都将作为当前节点,进行下一层孩子节点的迭代和对齐,一直到没有孩子节点可以对齐则停止。
上述处理流程中,步骤S3将采用改进的树编辑算法进行对齐操作;步骤S4将采用一套预定义的页面元素属性对DOM树模板中的节点进行标注,最终生成一个带有节点特性的DOM树模板。下面分别详细说明。
1)步骤S3将采用改进的树编辑算法进行对齐操作。
如前所述,树编辑算法常用于相似度计算中,步骤S3通过改进这种树编辑算法实现对齐操作,并用于生成网页结构模板。步骤S3具体包括以下步骤:
A.遍历网页子集合的所有DOM树中编号的下一层孩子节点,将不同DOM树中具有任一唯一属性的节点进行两两对齐,并将对齐的节点进行标记;
其中,所述唯一属性是相对于同层节点而言的,唯一属性可以是:
●唯一标签名称
●唯一id(即标识信息)
●唯一class属性(class属性用于指定元素属于何种样式的类)
●唯一href(base,src)属性(href属性规定页面中所有相对链接的基准URL)
●唯一alt属性(alt属性是一个用于网页语言HTML和XHTML、为输出纯文字的参数属性。它的作用是当HTML元素本身的物件无法被渲染时,就显示alt(替换)文字作为一种补救措施)
●唯一文字
一个节点只要具备上述任意一个唯一属性,就成为具有唯一属性的节点。因此,具有唯一属性的节点是指:
●具有唯一标签名称的节点,或者
●具有唯一id的节点(包含本身),或者
●具有唯一class的节点(包含本身),或者
●具有唯一href(base,src)属性值的节点(包含本身),或者
●具有唯一alt属性值的节点(包含本身),或者
●具有唯一文字的节点(包含本身)
以图5为例,一个包含当前节点的所有网页构成的网页子集合中,有页面A和页面B,其中页面A中当前节点的下一层孩子节点编号为A、B、C,页面B中当前节点的下一层孩子节点编号为D、E、F、G。将节点B和F通过唯一属性进行对齐,得到的对齐结果如图所示。节点B和F对齐之后,节点A、C、D、E、G都认为是未被标记的节点,这些节点还没有进行对齐操作。
B.根据标记节点的对齐位置分割出不同DOM树中未标记的剩余节点,
然后对所述未标记的剩余节点进行不同DOM树的对齐操作。
参照图5,将节点B和F对齐后,节点A和节点D、E位于对齐位置的左侧,节点C和节点G位于对齐位置的右侧。下面说明如何对齐左侧的节点,并对齐右侧的节点。
对齐步骤如下:
首先,将不同DOM树中未标记的剩余节点进行两两对齐的组合;
然后,对每一种组合方案计算编辑距离;
最后,选择编辑距离最短的对齐方案进行对齐。
以对齐左侧的节点为例,参照图6,需要将网页A中的节点A与网页B中的节点D或E进行对齐,因此两两组合的方案有两种,一种方案是A与D对齐,另一种方案是A与E对齐。
对于每一种对齐方案,通过编辑距离的比较确定选择哪一种对齐方案。本申请实施例中,可采用的一种编辑距离的计算方法如下:
设置每一种组合方案的初始编辑距离,例如设为0;
在每一种组合方案的对齐过程中,每删除一个节点,则编辑距离加上预置的权重值,例如1;每添加一个节点,则编辑距离也加上预置的权重值,例如1;
对齐结束后,得到每一种组合方案的最终编辑距离。
当然,也可以采用其他的计算方法计算编辑距离,如添加或删除一个节点时设置不同权值等方法。
图6中,节点A可表示为标签div和属性a,节点D可表示为标签div,节点E可表示为标签div和属性a、文本修饰标签img。
对于第一种对齐方案,计算编辑距离:
若节点A与节点D对齐,则对齐标签div,并删除节点A的属性a,添加节点E的标签div及其属性a、文本修饰标签img,因此编辑距离是4。
对于第二种对齐方案,计算编辑距离:
若节点A与节点E对齐,则对齐标签div及属性a,并添加节点D的标签div,添加文本修饰标签img,因此编辑距离是2。
将这两种对齐方案的编辑距离进行比较,第一种对齐方案的编辑距离大于第二种对齐方案的编辑距离,因此选择第二种对齐方案。
此外,还有一种例外情况是,如果有多种对齐方案的编辑距离相同,那么还需要采用下面的方法进行选择:
首先,查找同时具备GROUP属性和LOOP属性的结构;
如前所述,GROUP属性的定义是绑定多个节点,并且对节点序列有顺序要求;LOOP属性的定义是重复出现的节点。
参照图7,是本申请实施例中同时具备GROUP属性和LOOP属性的结构示意图。
图7所示示例中,网页A包含节点A和B,网页B包含节点A、B、A、B。有两种对齐方案,一种是将网页A中的节点A、B分别与网页B中前两个节点A、B对齐,另一种是将网页A中的节点A、B分别与网页B中后两个节点A、B对齐。
由图7可知,节点A、B重复出现,符合LOOP属性的定义,并且A、B按照先后顺序出现,因此也符合GROUP属性的定义。因此,这种同时具备GROUP属性和LOOP属性的结构一般是一些连续的序列,该序列在其他页面中的对齐位置不固定。
然后,选择对齐位置最靠前的对齐方案。
如图7所示,第一种方案的对齐位置靠前,第二种方案的对齐位置靠后,因此选择第一种对齐方案。这是因为从所有节点对齐的代价角度考虑,对齐位置靠前的方案对齐的代价要小于对齐位置靠后的方案对齐的代价。
综上所述,通过上述对齐操作,就可以将一个网页子集合中的所有网页进行两两对齐,并生成一个DOM树模板。
2)步骤S4将采用一套预定义的页面元素属性对DOM树模板中的节点进行标注,最终生成一个带有节点特性的DOM树模板。
如前所述,预定义的页面元素属性包括:
●NORMAL
一般节点
●LOOP
重复出现的节点
●GROUP
绑定多个节点,对节点序列有顺序要求
●RANDOMGROUP
绑定多个节点,组中的节点可以以任意次序重复出现
●OPTION
可能出现的节点,可以不出现
●ALTERNATIVE
多选一的情况
对DOM树模板中的节点标注这些页面元素属性的方法如下:
●将所有没有在网页子集合的全部页面中出现并且位置确定的节点标注为OPTION属性;
参照图8,是本申请实施例中标注OPTION属性的示意图。
假设一个网页子集合包含页面A和页面B,页面A中的节点B与页面B中的节点B对齐,页面A中的节点A在页面B中没有出现,因此生成的结构模板中节点A的属性为OPTION,节点B的属性为NORMAL。
●将所有没有在网页子集合的全部页面中出现,在相同位置但不能对齐的节点标注为ALTERNATIVE属性,同时这些节点组成GROUP;
参照图9,是本申请实施例中标注ALTERNATIVE属性的示意图。
假设一个网页子集合包含页面A和页面B,页面A中的节点B与页面B中的节点B对齐,页面A中的节点A和页面B中的节点C不同对齐,因此生成的结构模板中节点A和节点C的属性都为OPTION,并且节点A和C组成GROUP。
●如果当前层(包含所有子孙)OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则开始判断是否标注RANDOMGROUP属性;
标注RANDOMGROUP的条件是同时满足以下两个条件:
第一,第一个OPTION或ALTERNATIVE开始至最后一个OPTION或ALTERNATIVE结束的区间中的文本修饰标签数量的比例超过阈值;
具体的,所述区间可以是第一个OPTION开始至最后一个OPTION结束,也可以是第一个OPTION开始至最后一个ALTERNATIVE结束,还可以是第一个ALTERNATIVE开始至最后一个OPTION结束,或者是第一个ALTERNATIVE开始至最后一个ALTERNATIVE结束。
其中,文本修饰标签如:
″a″,″b″,″big″,″em″,″font″,″i″,″span″,″strong″,″u″,″p″,″img″,等等。
第二,所述区间中的标签存在重复出现的情况。
参照图10,是本申请实施例中标注RANDOMGROUP属性的示意图。
假设一个网页子集合中包含网页A、B、C,对于属于同层的某一层节点,页面A包含节点a、font、img,页面B包含节点a、b、img,页面C包含接待你img、b、a。对这一层节点进行编号,分别从1编到9。然后进行对齐操作,页面A的节点①、③分别与页面B的节点④、⑥对齐,页面B的节点④与页面C的节点⑨对齐。
根据对齐结果生成的模板包含节点⑦、⑧、①、②、⑤、③,如图所示,其中节点⑦、⑧具有OPTION和GROUP属性,节点②、⑤具有ALTERNATIVE和GROUP属性。
假设OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则判断:
OPTION区间中的文本修饰标签,如节点⑦对应img,节点⑧对应b,其数量比例假设已超过阈值;或者,ALTERNATIVE区间中的文本修饰标签,如节点②对应font,节点⑤对应b,其数量比例假设已超过阈值;
并且,OPTION区间中的标签存在重复出现的情况,如OPTION区间中的img、b重复在节点3和节点5出现;
因此,可以将标签img、b、a、font这四个节点标注为RANDOMGROUP。
综上所述,上述内容详细说明了自动化生成网页结构模板的过程,利用本申请实施例所述方法生成的网页结构模板,可以应用到网页信息抽取等互联网应用中。由于动态页面的结构模板能够方便的定位页面中的任意元素,因此通过在模板中标注需要抽取的信息,就能完成对所有同类动态页面的信息抽取。同时所述方法完成了对LOOP元素的识别,可以自动发现多条数据的存在。并且,在页面结构发生变化时,能够通过模板的匹配情况选择合并或者抛出异常警告模板失效。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
基于上述方法实施例的说明,本申请还提供了相应的生成网页结构模板***的实施例,来实现上述方法实施例所述的内容。
参照图11,是本申请实施例所述一种生成网页结构模板的***结构图。
所述生成网页结构模板的***可以包括网页聚合模块11、页面结构解析模块12和模板生成模块13,其中,
网页聚合模块11,用于对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;
页面结构解析模块12,用于针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;
模板生成模块13,用于通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,并将该DOM树模板作为集合的网页结构模板。
优选的,所述生成网页结构模板的***还可以包括:
模板优化模块14,用于模板生成模块13对应每个集合分别生成一个DOM树模板之后,对每个DOM树模板自顶向下分别进行重复遍历,每次遍历时查找DOM树模板中是否存在DOM结构相同的兄弟节点:如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性,然后完成本次遍历后继续下一次的自顶向下遍历;如果完成本次遍历后整个DOM树模板中都不存在DOM结构相同的兄弟节点,则结束遍历;将所述不存在DOM结构相同的兄弟节点的DOM树模板作为集合对应的网页结构模板。
优选的,所述生成网页结构模板的***还可以包括:
预处理模块15,用于模板生成模块13对集合中所有网页的DOM树结构进行分析之前,对每个DOM树自顶向下进行遍历,遍历时查找每个DOM树中是否存在DOM结构相同的兄弟节点,如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性。
进一步的,所述模板生成模块13具体可以包括以下子模块:
第一处理子模块,用于确定当前节点,并从所述集合中获取包含当前节点的网页子集合;
第二处理子模块,对所述网页子集合中的每个网页DOM树中当前节点的下一层孩子节点进行编号;
第三处理子模块,对所述网页子集合的所有DOM树中编号的下一层孩子节点进行不同DOM树的两两对齐;
第四处理子模块,根据对齐结果生成集合的DOM树模板中对应下一层孩子节点的结构模板;
第五处理子模块,遍历所述对应下一层孩子节点的结构模板,将所述结构模板中的每个节点分别作为当前节点,重复第一处理子模块至第五处理子模块的处理,直至下一层没有孩子节点为止。
所述模板生成模块13按照第一处理子模块到第五处理子模块的顺序,对集合中所有网页的DOM树结构自顶向下循环进行处理。
优选的,其中的第三处理子模块具体可以包括以下单元:
唯一属性对齐单元,用于针对所述网页子集合的所有DOM树中编号的下一层孩子节点,将不同DOM树中具有任一唯一属性的节点进行两两对齐,并将对齐的节点进行标记;
其他节点对齐单元,用于根据标记节点的对齐位置分割出不同DOM树中未标记的剩余节点,然后对所述未标记的剩余节点进行不同DOM树的对齐操作。
其中,所述其他节点对齐单元通过以下方式对所述未标记的剩余节点进行不同DOM树的对齐操作:将不同DOM树中未标记的剩余节点进行两两对齐的组合;对每一种组合方案计算编辑距离;选择编辑距离最短的对齐方案进行对齐。计算编辑距离时,先设置每一种组合方案的初始编辑距离,例如为0;然后在每一种组合方案的对齐过程中,每删除一个节点,则编辑距离加上预置的权重值,如1;每添加一个节点,则编辑距离也加上预置的权重值,如1(当然此时也可以是与删除节点不同的权重值,如2);最后对齐结束后,得到每一种组合方案的最终编辑距离。
优选的,其中的第四处理子模块具体可以包括以下单元:
OPTION属性标注单元,用于将对齐结果中所有没有在网页子集合的全部页面中出现并且位置确定的节点标注为OPTION属性;
ALTERNATIVE属性标注单元,用于将对齐结果中所有没有在网页子集合的全部页面中出现,在相同位置但不能对齐的节点标注为ALTERNATIVE属性,同时这些节点组成GROUP;
RANDOMGROUP属性标注单元,用于在对齐结果中,如果当前层OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则开始判断是否标注RANDOMGROUP属性,标注RANDOMGROUP的条件是同时满足以下两个条件:
第一,第一个OPTION或ALTERNATIVE开始至最后一个OPTION或ALTERNATIVE结束的区间中的文本修饰标签数量的比例超过阈值;
第二,所述区间中的标签存在重复出现的情况。
进一步,所述网页聚合模块11具体可以包括:
网页获取子模块,用于获取样本网页;
域名分类子模块,用于将样本网页按照域名进行分类;
URL路径划分子模块,用于对每一类样本网页按照URL路径进行划分;
URL模式划分子模块,用于对每种按照URL路径划分出来的样本网页再按照URL模式进行划分;
相似度计算子模块,用于对每种URL模式下的样本网页计算相似度,得到相似网页构成的集合。
综上所述,上述生成网页结构模板的***利用不同站点的样本网页就可以自动分析出不同站点的网页结构模板,从而为网页信息抽取等应用提供了方便。
对于上述生成网页结构模板的***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1至图10所示方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
而且,上文中的“和/或”表示本文既包含了“和”的关系,也包含了“或”的关系,其中:如果方案A与方案B是“和”的关系,则表示某实施例中可以同时包括方案A和方案B;如果方案A与方案B是“或”的关系,则表示某实施例中可以单独包括方案A,或者单独包括方案B。
以上对本申请所提供的一种生成网页结构模板的方法及***,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种生成网页结构模板的方法,其特征在于,包括:
对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;
针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;
通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,并将该DOM树模板作为集合的网页结构模板。
2.根据权利要求1所述的方法,其特征在于,所述对应每个集合分别生成一个DOM树模板之后,还包括:
对每个DOM树模板自顶向下分别进行重复遍历,每次遍历时查找DOM树模板中是否存在DOM结构相同的兄弟节点:
如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性,然后完成本次遍历后继续下一次的自顶向下遍历;
如果完成本次遍历后整个DOM树模板中都不存在DOM结构相同的兄弟节点,则结束遍历;
将所述不存在DOM结构相同的兄弟节点的DOM树模板作为集合对应的网页结构模板。
3.根据权利要求1所述的方法,其特征在于,所述对集合中所有网页的DOM树结构进行分析之前,还包括:
对每个DOM树自顶向下进行遍历,遍历时查找每个DOM树中是否存在DOM结构相同的兄弟节点,如果存在,则将所述DOM结构相同的兄弟节点合并为一个节点,并对该合并后的节点标注LOOP属性。
4.根据权利要求1至3任一所述的方法,其特征在于,所述通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,包括:
对集合中所有网页的DOM树结构自顶向下进行以下处理:
S1.确定当前节点,并从所述集合中获取包含当前节点的网页子集合;
S2.对所述网页子集合中的每个网页DOM树中当前节点的下一层孩子节点进行编号;
S3.对所述网页子集合的所有DOM树中编号的下一层孩子节点进行不同DOM树的两两对齐;
S4.根据对齐结果生成集合的DOM树模板中对应下一层孩子节点的结构模板;
S5.遍历所述对应下一层孩子节点的结构模板,将所述结构模板中的每个节点分别作为当前节点,重复S1至S5,直至下一层没有孩子节点为止。
5.根据权利要求4所述的方法,其特征在于,所述步骤S3包括:
针对所述网页子集合的所有DOM树中编号的下一层孩子节点,将不同DOM树中具有任一唯一属性的节点进行两两对齐,并将对齐的节点进行标记;
根据标记节点的对齐位置分割出不同DOM树中未标记的剩余节点,然后对所述未标记的剩余节点进行不同DOM树的对齐操作。
6.根据权利要求5所述的方法,其特征在于,所述唯一属性包括:
唯一标签名称,和/或
唯一id,和/或
唯一class属性,和/或
唯一href属性,和/或
唯一alt属性,和/或
唯一文字。
7.根据权利要求5所述的方法,其特征在于,对所述未标记的剩余节点进行不同DOM树的对齐操作,包括:
将不同DOM树中未标记的剩余节点进行两两对齐的组合;
对每一种组合方案计算编辑距离;
选择编辑距离最短的对齐方案进行对齐。
8.根据权利要求7所述的方法,其特征在于,所述对每一种组合方案计算编辑距离,包括:
设置每一种组合方案的初始编辑距离;
在每一种组合方案的对齐过程中,每删除一个节点,则编辑距离加上预置的权重值;每添加一个节点,则编辑距离也加上预置的权重值;
对齐结束后,得到每一种组合方案的最终编辑距离。
9.根据权利要求4所述的方法,其特征在于,所述步骤S4包括:
将对齐结果中所有没有在网页子集合的全部页面中出现并且位置确定的节点标注为OPTION属性;
将对齐结果中所有没有在网页子集合的全部页面中出现,在相同位置但不能对齐的节点标注为ALTERNATIVE属性,同时这些节点组成GROUP;
在对齐结果中,如果当前层OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则开始判断是否标注RANDOMGROUP属性,标注RANDOMGROUP的条件是同时满足以下两个条件:
第一,第一个OPTION或ALTERNATIVE开始至最后一个OPTION或ALTERNATIVE结束的区间中的文本修饰标签数量的比例超过阈值;
第二,所述区间中的标签存在重复出现的情况。
10.根据权利要求1所述的方法,其特征在于,所述对样本网页进行相似网页的聚合计算,得到相似网页构成的集合,包括:
获取样本网页;
将样本网页按照域名进行分类;
对每一类样本网页按照URL路径进行划分;
对每种按照URL路径划分出来的样本网页再按照URL模式进行划分;
对每种URL模式下的样本网页计算相似度,得到相似网页构成的集合。
11.一种生成网页结构模板的***,其特征在于,包括:
网页聚合模块,用于对样本网页进行相似网页的聚合计算,得到相似网页构成的集合;
页面结构解析模块,用于针对每个集合,解析集合中所有网页的页面结构,得到每个网页的DOM树结构;
模板生成模块,用于通过对集合中所有网页的DOM树结构进行分析,对应每个集合分别生成一个DOM树模板,并将该DOM树模板作为集合的网页结构模板。
12.根据权利要求11所述的***,所述模板生成模块包括:
第一处理子模块,用于确定当前节点,并从所述集合中获取包含当前节点的网页子集合;
第二处理子模块,对所述网页子集合中的每个网页DOM树中当前节点的下一层孩子节点进行编号;
第三处理子模块,对所述网页子集合的所有DOM树中编号的下一层孩子节点进行不同DOM树的两两对齐;
第四处理子模块,根据对齐结果生成集合的DOM树模板中对应下一层孩子节点的结构模板;
第五处理子模块,遍历所述对应下一层孩子节点的结构模板,将所述结构模板中的每个节点分别作为当前节点,重复第一处理子模块至第五处理子模块的处理,直至下一层没有孩子节点为止。
13.根据权利要求12所述的***,其特征在于,所述第三处理子模块包括:
唯一属性对齐单元,用于针对所述网页子集合的所有DOM树中编号的下一层孩子节点,将不同DOM树中具有任一唯一属性的节点进行两两对齐,并将对齐的节点进行标记;
其他节点对齐单元,用于根据标记节点的对齐位置分割出不同DOM树中未标记的剩余节点,然后对所述未标记的剩余节点进行不同DOM树的对齐操作。
14.根据权利要求12所述的***,其特征在于,所述第四处理子模块包括:
OPTION属性标注单元,用于将对齐结果中所有没有在网页子集合的全部页面中出现并且位置确定的节点标注为OPTION属性;
ALTERNATIVE属性标注单元,用于将对齐结果中所有没有在网页子集合的全部页面中出现,在相同位置但不能对齐的节点标注为ALTERNATIVE属性,同时这些节点组成GROUP;
RANDOMGROUP属性标注单元,用于在对齐结果中,如果当前层OPTION和ALTERNATIVE出现的总节点数百分比超过阈值,则开始判断是否标注RANDOMGROUP属性,标注RANDOMGROUP的条件是同时满足以下两个条件:
第一,第一个OPTION或ALTERNATIVE开始至最后一个OPTION或ALTERNATIVE结束的区间中的文本修饰标签数量的比例超过阈值;
第二,所述区间中的标签存在重复出现的情况。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110204433.5A CN102890681B (zh) | 2011-07-20 | 2011-07-20 | 一种生成网页结构模板的方法及*** |
HK13103562.7A HK1176705A1 (zh) | 2011-07-20 | 2013-03-22 | 種生成網頁結構模板的方法及系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110204433.5A CN102890681B (zh) | 2011-07-20 | 2011-07-20 | 一种生成网页结构模板的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102890681A true CN102890681A (zh) | 2013-01-23 |
CN102890681B CN102890681B (zh) | 2016-03-09 |
Family
ID=47534188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110204433.5A Active CN102890681B (zh) | 2011-07-20 | 2011-07-20 | 一种生成网页结构模板的方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102890681B (zh) |
HK (1) | HK1176705A1 (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136358A (zh) * | 2013-03-07 | 2013-06-05 | 宁波成电泰克电子信息技术发展有限公司 | 一种自动抽取论坛数据的方法 |
CN103279495A (zh) * | 2013-05-06 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 用于确定目标对象所对应的站点信息模板的方法和设备 |
CN103294788A (zh) * | 2013-05-20 | 2013-09-11 | 广州迅睿网络科技有限公司 | 一种通用网站的后台处理方法及*** |
CN103678511A (zh) * | 2013-11-25 | 2014-03-26 | 北京奇虎科技有限公司 | 根据可视化模板进行网页内容抽取的方法及装置 |
CN104050198A (zh) * | 2013-03-15 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 一种网页信息的识别方法及装置 |
CN105740475A (zh) * | 2016-03-16 | 2016-07-06 | 中山大学 | 一种web页面转换方法及*** |
CN105956202A (zh) * | 2016-06-27 | 2016-09-21 | 北京小米移动软件有限公司 | 浏览器中的网页显示方法、装置及终端 |
CN106227770A (zh) * | 2016-07-14 | 2016-12-14 | 杭州安恒信息技术有限公司 | 一种智能化的新闻网页信息抽取方法 |
CN106815235A (zh) * | 2015-11-27 | 2017-06-09 | 广州市动景计算机科技有限公司 | 超级网页模板生成方法、装置及页面数据传输方法 |
CN107423391A (zh) * | 2017-07-24 | 2017-12-01 | 福州大学 | 网页结构化数据的信息提取方法 |
TWI614622B (zh) * | 2015-11-26 | 2018-02-11 | 財團法人資訊工業策進會 | 網站簡化方法及使用其的網站簡化裝置 |
CN107943929A (zh) * | 2017-11-22 | 2018-04-20 | 福州大学 | 基于dom树抽象的包装器自动生成方法 |
CN108255975A (zh) * | 2017-12-27 | 2018-07-06 | 东软集团股份有限公司 | 模板构建方法、页面内容抓取方法及装置、介质及设备 |
CN108563729A (zh) * | 2018-04-04 | 2018-09-21 | 福州大学 | 一种基于dom树的招标网站中标信息抽取方法 |
CN109165373A (zh) * | 2018-09-14 | 2019-01-08 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN109214407A (zh) * | 2018-07-06 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 事件检测模型、方法、装置、计算设备及存储介质 |
CN109344355A (zh) * | 2018-09-26 | 2019-02-15 | 北京因特睿软件有限公司 | 针对网页变化的自动回归检测与块匹配自适应方法和装置 |
CN109445784A (zh) * | 2018-09-29 | 2019-03-08 | Oppo广东移动通信有限公司 | 结构数据的处理方法、装置、存储介质及电子设备 |
CN109582886A (zh) * | 2018-11-02 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 页面内容提取方法、模板的生成方法及装置、介质及设备 |
CN109710864A (zh) * | 2018-11-29 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 页面内容划分方法、装置、可读存储介质及电子设备 |
CN110019441A (zh) * | 2017-08-31 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种将网页中数据导出的方法和装置 |
CN110209965A (zh) * | 2018-02-14 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 用于显示信息的方法和装置 |
CN110968761A (zh) * | 2019-11-29 | 2020-04-07 | 福州大学 | 一种网页结构化数据自适应提取方法 |
CN111079043A (zh) * | 2019-12-05 | 2020-04-28 | 北京数立得科技有限公司 | 一种关键内容定位方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177327A1 (en) * | 2000-02-04 | 2004-09-09 | Robert Kieffer | System and process for delivering and rendering scalable web pages |
CN101464905A (zh) * | 2009-01-08 | 2009-06-24 | 中国科学院计算技术研究所 | 一种网页信息抽取的***及方法 |
CN101694668A (zh) * | 2009-09-29 | 2010-04-14 | 百度在线网络技术(北京)有限公司 | 网页结构相似性确定方法及装置 |
CN101727461A (zh) * | 2008-10-13 | 2010-06-09 | 中国科学院计算技术研究所 | 一种网页的正文抽取方法 |
CN101944094A (zh) * | 2009-07-06 | 2011-01-12 | 富士通株式会社 | 网页信息提取方法和装置 |
-
2011
- 2011-07-20 CN CN201110204433.5A patent/CN102890681B/zh active Active
-
2013
- 2013-03-22 HK HK13103562.7A patent/HK1176705A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177327A1 (en) * | 2000-02-04 | 2004-09-09 | Robert Kieffer | System and process for delivering and rendering scalable web pages |
CN101727461A (zh) * | 2008-10-13 | 2010-06-09 | 中国科学院计算技术研究所 | 一种网页的正文抽取方法 |
CN101464905A (zh) * | 2009-01-08 | 2009-06-24 | 中国科学院计算技术研究所 | 一种网页信息抽取的***及方法 |
CN101944094A (zh) * | 2009-07-06 | 2011-01-12 | 富士通株式会社 | 网页信息提取方法和装置 |
CN101694668A (zh) * | 2009-09-29 | 2010-04-14 | 百度在线网络技术(北京)有限公司 | 网页结构相似性确定方法及装置 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136358A (zh) * | 2013-03-07 | 2013-06-05 | 宁波成电泰克电子信息技术发展有限公司 | 一种自动抽取论坛数据的方法 |
CN103136358B (zh) * | 2013-03-07 | 2016-04-13 | 宁波成电泰克电子信息技术发展有限公司 | 一种自动抽取论坛数据的方法 |
CN104050198A (zh) * | 2013-03-15 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 一种网页信息的识别方法及装置 |
CN104050198B (zh) * | 2013-03-15 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 一种网页信息的识别方法及装置 |
CN103279495B (zh) * | 2013-05-06 | 2016-05-25 | 百度在线网络技术(北京)有限公司 | 用于确定目标对象所对应的站点信息模板的方法和设备 |
CN103279495A (zh) * | 2013-05-06 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 用于确定目标对象所对应的站点信息模板的方法和设备 |
CN103294788A (zh) * | 2013-05-20 | 2013-09-11 | 广州迅睿网络科技有限公司 | 一种通用网站的后台处理方法及*** |
CN103678511B (zh) * | 2013-11-25 | 2016-11-16 | 北京奇虎科技有限公司 | 根据可视化模板进行网页内容抽取的方法及装置 |
CN103678511A (zh) * | 2013-11-25 | 2014-03-26 | 北京奇虎科技有限公司 | 根据可视化模板进行网页内容抽取的方法及装置 |
TWI614622B (zh) * | 2015-11-26 | 2018-02-11 | 財團法人資訊工業策進會 | 網站簡化方法及使用其的網站簡化裝置 |
CN106815235A (zh) * | 2015-11-27 | 2017-06-09 | 广州市动景计算机科技有限公司 | 超级网页模板生成方法、装置及页面数据传输方法 |
CN105740475A (zh) * | 2016-03-16 | 2016-07-06 | 中山大学 | 一种web页面转换方法及*** |
CN105956202A (zh) * | 2016-06-27 | 2016-09-21 | 北京小米移动软件有限公司 | 浏览器中的网页显示方法、装置及终端 |
CN106227770A (zh) * | 2016-07-14 | 2016-12-14 | 杭州安恒信息技术有限公司 | 一种智能化的新闻网页信息抽取方法 |
CN106227770B (zh) * | 2016-07-14 | 2019-06-21 | 杭州安恒信息技术股份有限公司 | 一种智能化的新闻网页信息抽取方法 |
CN107423391A (zh) * | 2017-07-24 | 2017-12-01 | 福州大学 | 网页结构化数据的信息提取方法 |
CN107423391B (zh) * | 2017-07-24 | 2020-11-03 | 福州大学 | 网页结构化数据的信息提取方法 |
CN110019441A (zh) * | 2017-08-31 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种将网页中数据导出的方法和装置 |
CN107943929A (zh) * | 2017-11-22 | 2018-04-20 | 福州大学 | 基于dom树抽象的包装器自动生成方法 |
CN108255975A (zh) * | 2017-12-27 | 2018-07-06 | 东软集团股份有限公司 | 模板构建方法、页面内容抓取方法及装置、介质及设备 |
CN108255975B (zh) * | 2017-12-27 | 2021-05-07 | 东软集团股份有限公司 | 模板构建方法、页面内容抓取方法及装置、介质及设备 |
CN110209965A (zh) * | 2018-02-14 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 用于显示信息的方法和装置 |
CN108563729B (zh) * | 2018-04-04 | 2022-04-01 | 福州大学 | 一种基于dom树的招标网站中标信息抽取方法 |
CN108563729A (zh) * | 2018-04-04 | 2018-09-21 | 福州大学 | 一种基于dom树的招标网站中标信息抽取方法 |
CN109214407B (zh) * | 2018-07-06 | 2022-04-19 | 创新先进技术有限公司 | 事件检测模型、方法、装置、计算设备及存储介质 |
CN109214407A (zh) * | 2018-07-06 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 事件检测模型、方法、装置、计算设备及存储介质 |
CN109165373A (zh) * | 2018-09-14 | 2019-01-08 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN109165373B (zh) * | 2018-09-14 | 2022-04-22 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN109344355B (zh) * | 2018-09-26 | 2022-03-15 | 北京因特睿软件有限公司 | 针对网页变化的自动回归检测与块匹配自适应方法和装置 |
CN109344355A (zh) * | 2018-09-26 | 2019-02-15 | 北京因特睿软件有限公司 | 针对网页变化的自动回归检测与块匹配自适应方法和装置 |
CN109445784B (zh) * | 2018-09-29 | 2020-08-14 | Oppo广东移动通信有限公司 | 结构数据的处理方法、装置、存储介质及电子设备 |
CN109445784A (zh) * | 2018-09-29 | 2019-03-08 | Oppo广东移动通信有限公司 | 结构数据的处理方法、装置、存储介质及电子设备 |
CN109582886A (zh) * | 2018-11-02 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 页面内容提取方法、模板的生成方法及装置、介质及设备 |
CN109582886B (zh) * | 2018-11-02 | 2022-05-10 | 北京字节跳动网络技术有限公司 | 页面内容提取方法、模板的生成方法及装置、介质及设备 |
CN109710864A (zh) * | 2018-11-29 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 页面内容划分方法、装置、可读存储介质及电子设备 |
CN110968761A (zh) * | 2019-11-29 | 2020-04-07 | 福州大学 | 一种网页结构化数据自适应提取方法 |
WO2021103557A1 (zh) * | 2019-11-29 | 2021-06-03 | 福州大学 | 一种网页结构化数据自适应提取方法 |
CN110968761B (zh) * | 2019-11-29 | 2022-07-08 | 福州大学 | 一种网页结构化数据自适应提取方法 |
CN111079043A (zh) * | 2019-12-05 | 2020-04-28 | 北京数立得科技有限公司 | 一种关键内容定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102890681B (zh) | 2016-03-09 |
HK1176705A1 (zh) | 2013-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102890681B (zh) | 一种生成网页结构模板的方法及*** | |
Uzun | A novel web scraping approach using the additional information obtained from web pages | |
Lage et al. | Automatic generation of agents for collecting hidden web pages for data extraction | |
Liu et al. | Vide: A vision-based approach for deep web data extraction | |
CN103443786B (zh) | 识别网络浏览器中的并行布局的独立任务的机器学习方法 | |
US7669119B1 (en) | Correlation-based information extraction from markup language documents | |
TW201250492A (en) | Method and system of extracting web page information | |
WO2012054788A1 (en) | Method and system for performing a comparison | |
CN106503211B (zh) | 面向信息发布类网站的移动版自动生成的方法 | |
Ji et al. | Tag tree template for Web information and schema extraction | |
CN103019925A (zh) | 选择器获取方法及装置 | |
Azir et al. | Wrapper approaches for web data extraction: A review | |
US8489643B1 (en) | System and method for automated content aggregation using knowledge base construction | |
Roudaki et al. | Specification and discovery of web patterns: a graph grammar approach | |
Mehler et al. | Towards logical hypertext structure: a graph-theoretic perspective | |
Devika et al. | An overview of web data extraction techniques | |
Bernardi et al. | Web applications design recovery and evolution with RE‐UWA | |
Kadam et al. | DEUDS: Data extraction using DOM tree and selectors | |
CN107544906A (zh) | 一种基于内容非敏感性DOM骨架等价判定的Web自动化测试方法 | |
Nguyen | Model-based version and configuration management for a web engineering lifecycle | |
CN110147477B (zh) | Web***的数据资源模型化提取方法、装置以及设备 | |
Franz et al. | Lena-tr: Browsing linked open data along knowledge-aspects | |
Liu et al. | Research on adaptive wrapper in deep web data extraction | |
Scanniello et al. | Using semantic clustering to enhance the navigation structure of web sites | |
Pandarge et al. | Automatic web information extraction and alignment using CTVS technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1176705 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |