一种网页内容重构方法和系统技术方案

技术编号:14874674 阅读:83 留言:0更新日期:2017-03-23 22:22
本发明专利技术公开了一种网页内容重构方法和系统。该方法包括以下步骤:获取网页源码;遍历网页节点,以建立与网页结构一致的DOM树内存结构模型;解析建立的DOM树内存结构模型,记录节点的信息元素,并对节点赋予唯一的序列;对节点进行简化处理,以形成新对象;根据序列对新对象的节点及其内容进行提取;将提取的内容进行重新组合,并关联新的样式表,以形成新的网页内容。由于筛除了样式、广告、外链等与主体内容无关的节点,对网页结构进行了简化,能够迅速定位到重要信息,减少对页面内容的大范围遍历,有利于网页数据的采集。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种网页内容重构方法和系统
技术介绍
随着互联网的发展,网页数据采集和内容重构成为一项热门技术,可以广泛用于搜索引擎、网站移动化、数据分析以及一些内容聚合的移动互联网应用。而网页的主要开发语言中,HTML和CSS属于标记性语言,JavaScript属于弱类型的直译式脚本语言,这些类型的开发语言具有灵活和兼容性强的特点,但如果要解析它们,却增加了开发的难度。目前常用的网页分析方法是将网页源码解析为DOM树对象,通过对树节点的分析和遍历,来获取主体内容。然而,网页源码中除了网页关键内容外,还包括大量的样式数据、网页外链,以及页面广告,这些内容穿插在DOM树节点中,为网页数据采集带来了很大的困难。
技术实现思路
本专利技术要解决的技术问题是现有网页分析方法中网页源码中包含与主体内容无关的节点,为网页数据采集带来了很大的困难。根据本专利技术一方面,提出网页内容重构方法,包括:获取网页源码;遍历网页节点,以建立与网页结构一致的DOM树内存结构模型;解析建立的DOM树内存结构模型,记录节点的信息元素,并对节点赋予唯一的序列;对节点进行简化处理,以形成新对象;根据序列对新对象的节点及其内容进行提取;将提取的内容进行重新组合,并关联新的样式表,以形成新的网页内容。在一个实施例,遍历网页节点,以建立与网页结构一致的DOM树内存结构模型的步骤包括:通过对网页页面进行流式分析,遍历网页节点;对各个节点进行记录,并建立与网页结构一致的DOM树内存结构模型。在一个实施例,解析建立的DOM树内存结构模型,记录节点的信息元素,并对各节点赋予唯一的序列的步骤包括:解析建立的DOM树内存结构模型,判断各节点的信息元素是否属于三元素;若该节点的信息元素属于三元素,则记录该节点的信息元素;若该节点的信息元素不属于三元素,则删除该节点;对记录信息元素的节点赋予唯一的序列;其中,三元素包括纯文字信息、图片信息和超链接地址。在一个实施例,对节点进行简化处理,以形成新对象的步骤包括:判断记录信息元素的各节点是否属于四信息;若该节点属于四信息,则该节点为有效节点;若该节点不属于四信息,则该节点属于无效节点;抽取所有效节点,将有效节点保存在对象化序列中,并将有效节点的序列复制到相应的对象化序列中以形成新对象;其中,四信息包括纯文字、纯图片、带超链接文字和带超链接图片。在一个实施例,新对象的节点以JSON数据结构进行保存。在一个实施例,根据序列对新对象的节点及其内容进行提取的步骤包括:从简化后的节点末端开始,依次选择节点序列由长到短的顺序为目标节点;由目标节点向相应的父类节点逐级回溯;分析相应的父类节点以及父类的其它子类节点的数据,直到遇到卡闸或根节点为止;以序列为依据,按照从父类节点到子类节点的顺序对节点的内容进行提取,以提取所有的内容块及权重值。在一个实施例,根据序列对新对象的节点及其内容进行提取的步骤还包括:验证父类节点中的子类是否包含卡闸,若父类节点中任一子类节点包含卡闸,则该父类节点不能用于扩展,并记录卡闸的位置。在一个实施例,根据序列对新对象的节点及其内容进行提取的步骤之后:对所提取的所有内容块的内容权重进行比较;若内容块中文字量超过阈值,则该内容块为页面的主要内容;若内容块中图片量超过阈值,则该内容块为页面的主要内容。根据本专利技术的另一方面,还提出一种网页内容重构系统,包括:源码获取单元,用于获取网页源码;建模单元,用于遍历网页节点,以建立与网页结构一致的DOM树内存结构模型;记录单元,用于解析建立的DOM树内存结构模型,记录节点的信息元素,并对节点赋予唯一的序列;对象化单元,用于对节点进行简化处理,以形成新对象;提取单元,用于根据序列对新对象的节点及其内容进行提取;重构单元,用于将提取的内容进行重新组合,并关联新的样式表,以形成新的网页内容。在一个实施例,建模单元用于通过对网页页面进行流式分析,遍历网页节点,对各个节点进行记录,并建立与网页结构一致的DOM树内存结构模型。在一个实施例,记录单元用于解析建立的DOM树内存结构模型,判断各节点的信息元素是否属于三元素,若该节点的信息元素属于三元素,则记录该节点的信息元素,若该节点的信息元素不属于三元素,则删除对节点,对记录信息元素的节点赋予唯一的序列;其中,三元素包括纯文字信息、图片信息和超链接地址。在一个实施例,对象化单元用于判断记录信息元素的各节点是否属于四信息,若该节点属于四信息,则该节点为有效节点,若该节点不属于四信息,则该节点属于无效节点,抽取所有效节点,将有效节点保存在对象化序列中,并将有效节点的序列复制到相应的对象化序列中以形成新对象;其中,四信息包括纯文字、纯图片、带超链接文字和带超链接图片。在一个实施例,保存单元,用于将新对象的节点以JSON数据结构进行保存。在一个实施例,对象化单元用于从简化后的节点末端开始,依次选择节点序列由长到短的顺序为目标节点,由目标节点向相应的父类节点逐级回溯,分析相应的父类节点以及父类的其它子类节点的数据,直到遇到卡闸或根节点为止,以序列为依据,按照从父类节点到子类节点的顺序对节点的内容进行提取,以提取所有的内容块及权重值。在一个实施例,对象化单元还用于验证父类节点中的子类是否包含卡闸,若父类节点中任一子类节点包含卡闸,则该父类节点不能用于扩展,并记录卡闸的位置。在一个实施例,对象化单元还用于对所提取的所有内容块的内容权重进行比较,若内容块中文字量超过阈值,则该内容块为页面的主要内容,若内容块中图片量超过阈值,则该内容块为页面的主要内容。与现有技术相比,本专利技术获取网页源码,遍历网页节点,以建立与网页结构一致的DOM树内存结构模型,解析建立的DOM树内存结构模型,记录节点的信息元素,并对节点赋予唯一的序列,对节点进行简化处理,以形成新对象,根据序列对新对象的节点及其内容进行提取,将提取的内容进行重新组合,并关联新的样式表,以形成新的网页内容。由于筛除了样式、广告、外链等与主体内容无关的节点,对网页结构进行了简化,能够迅速定位到重要信息,减少对页面内容的大范围遍历,有利于网页数据的采集。进一步,由于本专利技术将JSON数据结构应用于网页内容重构,使得重构效率更高,更加灵活。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明构成说明书的一部分的附图描述了本专利技术的实施例,并且连同说明书一起用于解释本专利技术的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本专利技术,其中:图1为本专利技术网页内容重构方法的一个实施例的流程示意图。图2为本专利技术网页内容重构方法的一个具体实施例的流程示意图图3为本专利技术节点简化前的示意图。图4为本专利技术节点简化后的示意图。图5为本专利技术简化后的网页结构示意图。图6为本专利技术经过简化后的网页结构。图7为本专利技术网页内容重构的总体描述结构示意图。图8为本专利技术网页内容重构系统的一个实施例的结构示意图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照本文档来自技高网...
一种网页内容重构方法和系统

【技术保护点】
一种网页内容重构方法,其特征在于,包括:获取网页源码;遍历网页节点,以建立与网页结构一致的DOM树内存结构模型;解析建立的DOM树内存结构模型,记录节点的信息元素,并对节点赋予唯一的序列;对节点进行简化处理,以形成新对象;根据序列对新对象的节点及其内容进行提取;将提取的内容进行重新组合,并关联新的样式表,以形成新的网页内容。

【技术特征摘要】
1.一种网页内容重构方法,其特征在于,包括:获取网页源码;遍历网页节点,以建立与网页结构一致的DOM树内存结构模型;解析建立的DOM树内存结构模型,记录节点的信息元素,并对节点赋予唯一的序列;对节点进行简化处理,以形成新对象;根据序列对新对象的节点及其内容进行提取;将提取的内容进行重新组合,并关联新的样式表,以形成新的网页内容。2.根据权利要求1所述的方法,其特征在于,遍历网页节点,以建立与网页结构一致的DOM树内存结构模型的步骤包括:通过对网页页面进行流式分析,遍历网页节点;对各个节点进行记录,并建立与网页结构一致的DOM树内存结构模型。3.根据权利要求1所述的方法,其特征在于,解析建立的DOM树内存结构模型,记录节点的信息元素,并对各节点赋予唯一的序列的步骤包括:解析建立的DOM树内存结构模型,判断各节点的信息元素是否属于三元素;若该节点的信息元素属于三元素,则记录该节点的信息元素;若该节点的信息元素不属于三元素,则删除该节点;对记录信息元素的节点赋予唯一的序列;其中,三元素包括纯文字信息、图片信息和超链接地址。4.根据权利要求1所述的方法,其特征在于,对节点进行简化处理,以形成新对象的步骤包括:判断记录信息元素的各节点是否属于四信息;若该节点属于四信息,则该节点为有效节点;若该节点不属于四信息,则该节点属于无效节点;抽取所有效节点,将有效节点保存在对象化序列中,并将有效节点的序列复制到相应的对象化序列中以形成新对象;其中,四信息包括纯文字、纯图片、带超链接文字和带超链接图片。5.根据权利要求4所述的方法,其特征在于,新对象的节点以JSON数据结构进行保存。6.根据权利要求1所述的方法,其特征在于,根据序列对新对象的节点及其内容进行提取的步骤包括:从简化后的节点末端开始,依次选择节点序列由长到短的顺序为目标节点;由目标节点向相应的父类节点逐级回溯;分析相应的父类节点以及父类的其它子类节点的数据,直到遇到卡闸或根节点为止;以序列为依据,按照从父类节点到子类节点的顺序对节点的内容进行提取,以提取所有的内容块及权重值。7.根据权利要求6所述的方法,其特征在于,根据序列对新对象的节点及其内容进行提取的步骤还包括:验证父类节点中的子类是否包含卡闸,若父类节点中任一子类节点包含卡闸,则该父类节点不能用于扩展,并记录卡闸的位置。8.根据权利要求7所述的方法,其特征在于,根据序列对新对象的节点及其内容进行提取的步骤之后:对所提取的所有内容块的内容权重进行比较;若内容块中文字量超过阈值,则该内容块为页面的主...

【专利技术属性】
技术研发人员:李慧云陆钢何震苇
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1