一种解析网页表格对象节点的方法

文档序号:6463439阅读:143来源:国知局

专利名称::一种解析网页表格对象节点的方法
技术领域
:本发明涉及网页数据分析领域,特别是解析网页表格对象节点的方法。
背景技术
:互联网的飞速发展,己使其成为人们最重要的一个信息来源。然而,信息的膨胀却给信息分析和处理带来了挑战。如何有效抽取用超文本标记语言(HTML)或扩展标记语言(XML)编写的网页中的有关信息,己成为互联网信息服务中一个重要的研宄课题。互联网(Internet)是一个开放的公共信息平台,越来越多的公司把他们的产品信息和服务信息发布通过网站服务器(Web服务器)发布到Internet上,或把整个业务搬到Web上。收集和归类这些动态信息,然后比较分析可以为很多增值的应用提供关键的数据。例如,汽车销售商会将所售产品,如车辆的品牌、型号、价格等数据以网页中表格(Table)的形式,向其受众展示出来;对于消费者来说,需要比较多个汽车销售商所售的统一车型之价格后,才会从价格较低的汽车销售商购买车辆。因此产生了这样的问题(1)如何获知汽车销售商包含车辆数据表格的网页的位置;(2)如何定位网页中数据表格的位置;(3)如何对表格进行分析,通过比较发现价格最优惠的汽车销售商。为此,需要从这些描述产品的网页中的特定区域(即数据区)抽取相关产品(即数据对象)的属性之类信息。典型的,一个描述产品的网页包括一个数据区,其中涉及一个或多个数据对象,本发明就是要解决如何取得网页、如何取得网页中的特定区域的数据、如何归类分析和比较数据的问题。
发明内容鉴于以上需求,本发明的目的在于提供一种取得网页,定位网页中的特定区域的数据,以及归类分析和比较数据方法,以提供数据增值服务。本发明所采用的技术方案是一种解析网页表格对象节点的方法,包括以下步骤步骤I、定义一个三维数据表,设置其第一维是网页的地址,第二维是数据对象中的字段列,第三维是数据对象中的字段值;步骤2、获取目标网页地址队列;步骤3、对于步骤2中的每一项地址,检查其是否己经存在于步骤I的三维数据表中的第一维中;如果不存在,则将其填入三维数据表中的第一维中;如果存在,则将其删除,并检查下一项地址;步骤4、根据网页地址队列下载网页,将所下载的网页存储在网页临时存储区;步骤5、对网页临时存储区中的网页进行表格对象检查,提取存在表格节点的网页;步骤6、对步骤3提取出的网页,分析其表格节点的数据区;将数据区中的数据转换为数据对象,该数据对象由字段列和字段值构成;步骤7、为该网页的地址和从该网页表格节点数据区中提取并转换的数据对象建立一对一的映射关系,同时将该数据对象中的字段列和字段值填入到三维表中与第一维中地址相对应的第二维和第三维中。本发明的有益效果是本发明一种解析网页表格对象节点的方法提供了一套程序化和自动化的节点的数据,实现分析和比较,特别是为数据增值服务提供可能。以下结合实施例及其附图对本发明作进一步说明。图I是本发明方法的流程示意图;具体实施例方式本发明的实施例,一种解析网页表格对象节点的方法,利用互联网提供一种取得网页,定位网页中的特定区域的数据,以及归类分析和比较数据,本方法包括以下步骤步骤1、定义一个三维数据表,设置其第一维是网页的地址,第二维是数据对象中的字段列,第三维是数据对象中的字段值;步骤2、获取目标网页地址队列;步骤3、对于步骤2中的每一项地址,检查其是否己经存在于步骤I的三维数据表中的第一维中;如果不存在,则将其填入三维数据表中的第一维中;如果存在,则将其删除,并检查下一项地址;步骤4、根据网页地址队列下载网页,将所下载的网页存储在网页临时存储区;步骤5、对网页临时存储区中的网页进行表格对象检查,提取存在表格节点的网页;步骤6、对步骤3提取出的网页,分析其表格节点的数据区;将数据区中的数据转换为数据对象,该数据对象由字段列和字段值构成;步骤7、为该网页的地址和从该网页表格节点数据区中提取并转换的数据对象建立一对一的映射关系,同时将该数据对象中的字段列和字段值填入到三其中,步骤I的目的是根据需要定义一个数据表,设置好数据保存的结构,这样在进行网页表格解析时,就可以直接将解析得到的数据对象按照设置好的规则存放在步骤I定义的数据表的相应位置,同时,通过这个预先定义的数据表,还可以将解析得到的数据对象与其原始网页的地址进行对应,方便用户在解析后进行其他操作,例如进行数据校验、数据更新等。在本发明的实施例中,步骤2所述的获取网页地址队列包括两种方式,分别为直接获取和间接获取;所述直接获取方式,为读取用户提供的网络地址队列文件,该队列被存放于一文本文件中,每个地址占用一行,地址需符合URL格式。即用户将需要进行表格解析、保存数据对象的网页的URL地址保存在一个文本文件中;并且在这个文本文件中,按照每个URL地址占用一行的方式存放所有需要的网页地址。所述间接获取方式,为读取用户进行搜索的关键词,通过关键词在搜索引擎上搜索,搜索引擎以字符流的形式提供一个HTML文本,通过运用模式匹配(或规则表达式)的方法,将HTML文本中满足指定模式的URL地址抽取出来组成队列。例如,用户为获取某些信息,通过google、百度这样的综合互联网搜索引擎或者一些专业领域的搜索引擎进行搜索,可以利用支持本方法的中间服务读取用户输入的关键词,由中间服务通过该关键词在指定的搜索引擎上搜索,并将搜索引擎返回的搜索结果保存下来,这个搜索结果是搜索引擎以字符流的形式提供的一个HTML文本,然后再通过运用模式匹配(或规则表达式)的方法,将HTML文本中满足指定模式的URL地址抽取出来组成队列,并保存成一个文本文件,这个文本文件的格式与直接获取方式中由用户制作的在本实施例中,间接获取方式里面,从HTML文本中抽取URL地址的方式,其所述指定模式为一种按照一特定规则排列的字符串,该字符串分为三部分,其中第一部分的排列模式为“<Ahref=’”,第三部分的排列模式为“’</A>”;这个字符串的形式以下表来表示则更为直观表1、HTML文本中符合指定模式的字符串的形式<Ahref=’URL地址,></A>第一部分第二部分第三部分其中第一部分中后面的引号,和第三部分中之前的引号可以是单引号(‘)或双引号(“),但必须同时是双引号或单引号,而不能一个是双引号,另一个是单引号;第三部分中的省略号代表一个标记该A标记的名称或描述;在第一部分和第三部分之间的第二部分字符串即为满足指定模式的URL地址。在本发明的实施例中,所述步骤4包括以下步骤步骤4a:设置一个计数器,计数器初始值为零,计数器最大值为地址队列长度-I;步骤4b:清除网页临时存储区;步骤4c:检查计数器的值,如果计数器的值小于计数器最大值,则每完成前述步骤3的重复性检查之后,计数器+1;—旦计数器的值大于计数器最大值,则结束整个流程;步骤4d:根据地址队列之顺序,下载网页,所下载之网页存放于网页临时存储区。步骤4的目的是将网页地址队列中列出的网页下载到网页临时存储区中,同时设置一个计数器,用来检查网页地址的重复性,如果网页的URL地址与三维数据表中第一维中保存的网页地址相同,则将这一URL地址从网页地址队列中删除,并开始检查下一个URL地址,从而避免了将己存在的网页重复下载的问题,能够有效提高运行效率。同时,所述步骤5包括以下步骤步骤5a:通过运用模式匹配(或规则表达式)的方法,确定网页中是否存在表格节点,即是否存在符合语义的成对出现的“<table>”和“</table>”,且符合文档对象模型(DocumentObjectModel,DOM)之规范。步骤5b:如果存在,则转至步骤6;步骤5c:如果不存在,则转至步骤4b。执行步骤5,目的是将存在表格节点的网页提取出来,交给步骤6进行表格节点分析。所述步骤6包括以下步骤步骤6a:通过运用模式匹配(或规则表达式)的方法,分析表格节点的字段,剔除不需要的字段列,此处所谓不需要的字段列是指由用户主观决定的表格列;步骤6b:通过运用模式匹配(或规则表达式)的方法,分析表格节点的数据区,将数据区中的数据转换为数据对象,该数据对象由字段列和字段值构成。通过步骤6进行表格节点分析和剔除不需要的字段列之后,将需要保存的所述步骤7包括以下步骤步骤7a:为该网页的地址和该数据对象建立一个一对一的映射关系,即以该网页的地址作为键,以该数据对象作为值,形成一个键-值对;步骤7b:将该数据对象中的字段列和字段值填入到步骤I中建立的三维数据表中与第一维中地址相对应的第二维和第三维中;步骤7c:转至步骤4b。本发明实施例中,在步骤7中的步骤7a和步骤7b将前述的数据对象建立映射关系并存储在三维数据表后,即完成了本发明所述的对一个URL地址所对应的网页进行表格对象节点解析的工作过程。至此,就转到步骤4b清除网页临时存储区,并读取下一个URL地址,重新开始整个解析过程。本发明一种解析网页表格对象节点的方法,提供了一套程序化和自动化的方法来实现网页表格节点数据分析流程。通过此流程可以有效获取网页中表格节点的数据,实现分析和比较,特别是为数据增值服务提供可能。本发明所提供的方法可以帮助用户进行大量的网络信息采集和整理,在互联网信息采集领域具有十分广阔的应用前景。权利要求1.一种解析网页表格对象节点的方法,利用互联网提供一种取得网页,定位网页中的特定区域的数据,以及归类分析和比较数据,其特征在于本方法包括以下步骤步骤1、定义一个三维数据表,设置其第一维是网页的地址,第二维是数据对象中的字段列,第三维是数据对象中的字段值;步骤2、获取目标网页地址队列;步骤3、对于步骤2中的每一项地址,检查其是否已经存在于步骤I的三维数据表中的第一维中;如果不存在,则将其填入三维数据表中的第一维中;如果存在,则将其删除,并检查下一项地址;步骤4、根据网页地址队列下载网页,将所下载的网页存储在网页临时存储区;步骤5、对网页临时存储区中的网页进行表格对象检查,提取存在表格节点的网页;步骤6、对步骤3提取出的网页,分析其表格节点的数据区;将数据区中的数据转换为数据对象,该数据对象由字段列和字段值构成;步骤7、为该网页的地址和从该网页表格节点数据区中提取并转换的数据对象建立一对一的映射关系,同时将该数据对象中的字段列和字段值填入到三维数据表中与第一维中地址相对应的第二维和第三维中。2.根据权利要求I所述的一种解析网页表格对象节点的方法,其特征在于所述步骤2获取网页地址队列包括两种方式,分别为直接获取和间接获取;所述直接获取方式,为读取用户提供的网络地址队列文件,该队列被存放于一文本文件中,每个地址占用一行,地址需符合URL格式;所述间接获取方式,为读取用户进行搜索的关键词,通过关键词在搜索引擎上搜索,搜索引擎以字符流的形式提供一个HTML文本,通过运用模式匹配(或规则表达式)的方法,将HTML文本中满足指定模式的URL地址抽取出来组成队列。3.根据权利要求2所述的一种解析网页表格对象节点的方法,其特征在于所述指定模式为一种按照一特定规则排列的字符串,该字符串分为三部分,其中第一部分的排列模式为“<Ahref=’”,第三部分的排列模式为“’>...</A>”;其中第一部分中后面的引号,和第三部分中“>”之前的引号可以是单引号(‘)或双引号(“),但必须同时是双引号或单引号,而不能一个是双引号,另一个是单引号;第三部分中的省略号代表一个标记该A标记的名称或描述;在第一部分和第三部分之间的第二部分字符串即为满足指定模式的URL地址。4.根据权利要求I所述的一种解析网页表格对象节点的方法,其特征在于所述步骤4包括以下步骤步骤4a:设置一个计数器,计数器初始值为零,计数器最大值为地址队列长度-I;步骤4b:清除网页临时存储区;步骤4c:检查计数器的值,如果计数器的值小于计数器最大值,则每完成权利要求I中的步骤3,计数器+1;—旦计数器的值大于计数器最大值,则结束整个流程;步骤4d:根据地址队列之顺序,下载网页,所下载之网页存放于网页临时存储区。5.根据权利要求I所述的一种解析网页表格对象节点的方法,其特征在于所步骤5a:通过运用模式匹配(或规则表达式)的方法,确定网页中是否存在表格节点,即是否存在符合语义的成对出现的“<table>”和“</table>”,且符合文档对象模型(DocumentObjectModel,DOM)之规范。步骤5b:如果存在,则转至步骤6;步骤5c:如果不存在,则转至步骤4b。6.根据权利要求I所述的一种解析网页表格对象节点的方法,其特征在于所述步骤6包括以下步骤步骤6a:通过运用模式匹配(或规则表达式)的方法,分析表格节点的字段,剔除不需要的字段列,此处所谓不需要的字段列是指由用户主观决定的表格列;步骤6b:通过运用模式匹配(或规则表达式)的方法,分析表格节点的数据区,将数据区中的数据转换为数据对象,该数据对象由字段列和字段值构成。7.根据权利要求I所述的一种解析网页表格对象节点的方法,其特征在于所述步骤7包括以下步骤步骤7a:为该网页的地址和该数据对象建立一个一对一的映射关系,即以该网页的地址作为键,以该数据对象作为值,形成一个键-值对;步骤7b:将该数据对象中的字段列和字段值填入到步骤I中建立的三维数据表中与第一维中地址相对应的第二维和第三维中;步骤7c:转至步骤4b。全文摘要本发明涉及一种解析网页表格对象节点的方法,包括步骤1.定义一个三维数据表;步骤2.获取目标网页地址队列;步骤3.对于步骤2中的每一项地址,检查其是否已经存在于步骤1的三维数据表中的第一维中;步骤4.根据网页地址队列下载网页,将所下载的网页存储在网页临时存储区;步骤5.对网页临时存储区中的网页进行表格对象检查,提取存在表格节点的网页等7步。本发明提供了一套程序化和自动化的方法来实现网页表格节点数据分析流程。通过此流程可以有效获取网页中表格节点的数据,实现分析和比较,特别是为数据增值服务提供可能。本发明所提供的方法可以帮助用户进行大量的网络信息采集和整理,在互联网信息采集领域具有广阔的应用前景。文档编号G06F17/30GK101576891SQ20081010588公开日2009年11月11日申请日期2008年5月5日优先权日2008年5月5日发明者晨孙申请人:北京瑞佳晨科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1