著录项信息
专利名称 | 一种网页表格数据抽取的方法 |
申请号 | CN201110200455.4 | 申请日期 | 2011-07-15 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-11-23 | 公开/公告号 | CN102254009A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 福建星网锐捷通讯股份有限公司 | 申请人地址 | 福建省福州市仓山区金山大道618号桔园洲星网锐捷科技园19-22栋
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 福建星网锐捷通讯股份有限公司 | 当前权利人 | 福建星网锐捷通讯股份有限公司 |
发明人 | 杨凡;黄建雄;林珊 |
代理机构 | 福州市鼓楼区京华专利事务所(普通合伙) | 代理人 | 宋连梅 |
摘要
本发明提供一种网页表格数据抽取的方法,包括:步骤10、读取网页源码,根据字符编码将其解析成W3C的Document对象,获取所述网页表格中的任意两个关键词;步骤20、深度优先遍历Document对象中所有节点,分别获取两关键词所属的两个节点;步骤30、获取两节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件;步骤40、利用网页表格数据定位条件,过滤网页源代码,抽取和网页显示效果相同的网页表格。本发明根据欲抽取网页表格中的任意两个关键词以及需要的表格行/列值,即可从实时变化的网页中准确快速抽取与原网页显示效果相同的表格,获取指定行/列数据,提高数据抽取的灵活性和准确率。
1.一种网页表格数据抽取的方法,其特征在于:包括如下步骤:
步骤10、读取网页源码,根据字符编码将其网页源码解析成W3C的Document对象,获取所述网页表格中的任意两个关键词;
步骤20、深度优先遍历Document对象中所有节点,分别获取第一关键词所属的第一节点,第二关键词所属的第二节点;
步骤30、获取第一节点、第二节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件;
步骤40、利用所述网页表格定位条件,遍历Document对象,查找符合所述定位条件的节点,从而定位表格位置,记录各个单元格数据的正确位置以及字号大小、字体颜色属性,抽取与原网页显示效果相同的表格,并根据所述定位表格位置中的表格行/列值筛选得到要抽取的网页表格指定的行/列数据。
2.根据权利要求1所述的一种网页表格数据抽取的方法,其特征在于:所述步骤20中深度优先遍历Document对象中所有节点,分别获取第一关键词所属的第一节点,第二关键词所属的第二节点,具体为:
步骤21、获取Document对象的根节点root,并记为node;
步骤22、遍历所述node的每一个子节点childNode,判断childNode是否为叶节点;是则获取childNode的值,并转入步骤23,否则遍历查找childNode的每一个子节点,遍历完成后仍无关键词节点,则返回根节点node,继续查找所述node的剩余子节点;
步骤23、判断childNode是否包含关键词,是则返回childNode,记为关键词所属的节点;否则继续查找判断childNode的兄弟节点。
3.根据权利要求2所述的一种网页表格数据抽取的方法,其特征在于:所述步骤30获取第一节点、第二节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件,具体为:
步骤31、分别获取第一节点node1、第二节点node2的父节点parentNode1、parentNode2,判断是否相同;相同则返回parentNode,不同则继续将parentNode1、parentNode2作为参数代入,递归查找,直至获取距离node1、node2最近的共同父节点parentNode;
步骤32、获取所述parentNode的唯一属性,并利用唯一属性获取网页表格定位条件:
具体为获取parentNode的所有标签属性,并判断是否存在唯一属性,若存在唯一属性,则利用该属性得到网页表格定位条件,即定位条件为格式为“tablePath=parentNode标签名[唯一属性名=对应属性值]”,进入步骤40;若不存在唯一属性,则获取parentNode的父节点targetNode并查找其唯一属性即用递归查找直至找到存在唯一属性的父节点targetNode或者到达Document根节点为止;同时记录查找过程的路径标签及parentNode在其父节点targetNode中的相对位置,用以拼接/修改得到网页表格定位条件,即定位条件为格式为
“tablePath=targetNode标签名[唯一属性名=对应属性值]/路径标签1[相对位置
1]/路径标签2[相对位置2]/…”
或
“tablePath=Document根节点/路径标签1[相对位置1]/路径标签2[相对位置
2]/…”。
一种网页表格数据抽取的方法\n【技术领域】\n[0001] 本发明涉及网络网页技术领域,尤其涉及一种网页表格数据抽取的方法。\n【背景技术】\n[0002] 随着网页技术的不断发展,网页显示效果和包含的信息量日趋复杂,网页结构及内容也实时更新。而要想从网页中获取指定的表格数据,需要人工在大量冗长的网页源代码中查找表格所在的位置、标签及属性等,才能定位到表格对应的源码,从而获取表格数据。这样不仅需要巨大的工作量,造成时间和精力的浪费,同时在繁杂的网页代码中查找也容易出错,更无法满足数据实时性的需求。\n[0003] W3C是英文World Wide Web Consortium的缩写,中文意思是W3C理事会或万维网联盟。W3C组织是对网络标准制定的一个非赢利组织,像HTML、XHTML、CSS、XML的标准就是由W3C来定制。\n[0004] 现有技术中提供了一种信息抽取中基于DOM树的过滤器方法,其出自“中国学术期刊网络出版总库”,公开日期为2009/9/15,来源:中国过滤器网,其描述的:是页面预处理的一种方法,将HTML解析成DOM,利用DOM树的特性,不仅可以从大的逻辑单元抽取信息,还可以对更小的单元进行操作,以完成信息抽取工作中页面预处理,从而大大提高信息抽取的效率和准确率。该方法还提供了三种过滤器,每个过滤器都是可以由用户设置的,以完成不同程度的过滤,并以恰当的顺序选择和叠加各个过滤器,形成最佳预处理组合。该方法目标不是提取细粒度的数据,而是过滤掉网页中凌乱多余的信息,如广告,无关链接等,即完成网页中页面的预处理。\n【发明内容】\n[0005] 本发明要解决的技术问题,在于提供一种网页表格数据抽取的方法,实现从实时变化的网页中准确快速抽取与原网页显示效果相同的表格,获取指定行/列数据。\n[0006] 本发明是这样实现的:一种网页表格数据抽取的方法,其特征在于:包括如下步骤:\n[0007] 步骤10、读取网页源码,根据字符编码将其网页源码解析成W3C的Document对象,获取所述网页表格中的任意两个关键词;\n[0008] 步骤20、深度优先遍历Document对象中所有节点,分别获取第一关键词所属的第一节点,第二关键词所属的第二节点;\n[0009] 步骤30、获取第一节点、第二节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件;\n[0010] 步骤40、利用所述网页表格定位条件,遍历Document对象,查找符合所述定位条件的节点,从而定位表格位置,记录各个单元格数据的正确位置以及字号大小、字体颜色属性,抽取与原网页显示效果相同的表格,并根据所述定位表格位置中的表格行/列值筛选得到要抽取的网页表格指定的行/列数据。\n[0011] 进一步的,所述步骤20中深度优先遍历Document对象中所有节点,分别获取第一关键词所属的第一节点,第二关键词所属的第二节点,具体为:\n[0012] 步骤21、获取Document对象的根节点root,并记为node;\n[0013] 步骤22、遍历所述node的每一个子节点childNode,判断childNode是否为叶节点;是则获取childNode的值,并转入步骤23,否则遍历查找childNode的每一个子节点,遍历完成后仍无关键词节点,则返回根节点node,继续查找所述node的剩余子节点;\n[0014] 步骤23、判断childNode是否包含关键词,是则返回childNode,记为关键词所属的节点;否则继续查找判断childNode的兄弟节点。\n[0015] 进一步的,所述步骤30获取第一节点、第二节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件,具体为:\n[0016] 步骤31、分别获取第一节点node1、第二节点node2的父节点parentNode1、parentNode2,判断是否相同;相同则返回parentNode,不同则继续将parentNode1、parentNode2作为参数代入,递归查找,直至获取距离node1、node2最近的共同父节点parentNode;\n[0017] 步骤32、获取所述parentNode的唯一属性,并利用唯一属性获取网页表格定位条件:具体为获取parentNode的所有标签属性,并判断是否存在唯一属性,若存在唯一属性,则利用该属性得到网页表格定位条件,即定位条件为格式为“tablePath=parentNode标签名[唯一属性名=对应属性值]”,进入步骤40;若不存在唯一属性,则获取parentNode的父节点targetNode并查找其唯一属性即用递归查找直至找到存在唯一属性的父节点targetNode或者到达Document根节点为止;同时记录查找过程的路径标签及parentNode在其父节点targetNode中的相对位置,用以拼接/修改得到网页表格定位条件,即定位条件为格式为\n[0018] “tablePath=targetNode标签名[唯一属性名=对应属性值]/路径标签1[相对位置1]/路径标签2[相对位置2]/…”\n[0019] 或\n[0020] “tablePath=Document根节点/路径标签1[相对位置1]/路径标签2[相对位置\n2]/…”。\n[0021] 本发明具有如下优点:本发明仅需网页源代码、欲抽取表格中的任意两个关键词以及需要的表格行/列值,即可从实时变化的网页中抽取与原网页显示效果相同的表格,并通过筛选获得表格指定行/列数据,而不再需要手动从网页源码中通过查找表格位置、标签属性等方式来定位表格、获取数据。本发明不仅简化了网页表格的抽取方式,提高了数据抽取的灵活性,满足了数据实时性的需求,同时也提高了表格数据抽取的准确率。\n【附图说明】\n[0022] 图1为本发明方法流程示意图。\n【具体实施方式】\n[0023] 参照图1所示,本发明的一种网页表格数据抽取的方法,包括如下步骤:\n[0024] 步骤10、读取网页源码,根据字符编码将其网页源码解析成W3C的Document对象,获取所述网页表格中的任意两个关键词;\n[0025] 步骤20、深度优先遍历Document对象中所有节点,分别获取第一关键词所属的第一节点,第二关键词所属的第二节点;其中具体为:\n[0026] 步骤21、获取Document对象的根节点root,并记为node;\n[0027] 步骤22、遍历所述node的每一个子节点childNode,判断childNode是否为叶节点;是则获取childNode的值,并转入步骤23,否则遍历查找childNode的每一个子节点,遍历完成后仍无关键词节点,则返回根节点node,继续查找所述node的剩余子节点;\n[0028] 步骤23、判断childNode是否包含关键词,是则返回childNode,记为关键词所属的节点;否则继续查找判断childNode的兄弟节点。\n[0029] 步骤30、获取第一节点、第二节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件;其具体为:\n[0030] 步骤31、分别获取第一节点node1、第二节点node2的父节点parentNode1、parentNode2,判断是否相同;相同则返回parentNode,不同则继续将parentNode1、parentNode2作为参数代入,递归查找,直至获取距离node1、node2最近的共同父节点parentNode;\n[0031] 步骤32、获取所述parentNode的唯一属性,并利用唯一属性获取网页表格定位条件:具体为获取parentNode的所有标签属性,并判断是否存在唯一属性,若存在唯一属性,则利用该属性得到网页表格定位条件,即定位条件为格式为“tablePath=parentNode标签名(即parentNode所有标签属性中有唯一属性的标签)[唯一属性名=对应属性值]”,进入步骤40;若不存在唯一属性,则获取parentNode的父节点targetNode并查找其唯一属性即用递归查找直至找到存在唯一属性的父节点targetNode或者到达Document根节点为止;同时记录查找过程的路径标签及parentNode在其父节点targetNode中的相对位置,用以拼接/修改得到网页表格定位条件,即定位条件为格式为\n[0032] “tablePath=targetNode标签名[唯一属性名=对应属性值]/路径标签1[相对位置1]/路径标签2[相对位置2]/…”\n[0033] 或\n[0034] “tablePath=Document根节点/路径标签1[相对位置1]/路径标签2[相对位置\n2]/…”。\n[0035] 步骤40、利用所述网页表格定位条件,遍历Document对象,查找符合所述定位条件的节点,从而定位表格位置,记录各个单元格数据的正确位置以及字号大小、字体颜色属性,抽取与原网页显示效果相同的表格,并根据所述定位表格位置中的表格行/列值筛选得到要抽取的网页表格指定的行/列数据。\n[0036] 下面结合具体实施例对获取第一节点、第二节点具有唯一属性的共同父节点,并利用唯一属性获取网页表格定位条件作进一步的说明。\n[0037] \n[0038] 如上网页结构中,
即node1节点(keyword1)、node2节点(keyword2)的共同父节点parentNode。在parentNode标签属性(id,width)中,id="content"在网页中仅出现一次,是唯一属性,故可据此创建网页表格定位条件tablePath=table[id='content']。\n[0039] \n[0040] 如上网页结构中,1.获取node1、node2的共同父节点parentNode:。2.由于
的属性中并没有唯一属性,故获取
的父节点targetNode即:,同时记录查找路径标签及在中的相对位置路径:tablePath=table/tr[2]。3.由于的属性中亦没有唯一属性,故获取的父节点法律信息
- 2017-11-17
专利权的转移
登记生效日: 2017.10.27
专利权人由福建星网锐捷通讯股份有限公司变更为福建星网锐捷通讯股份有限公司
地址由350000 福建省福州市仓山区金山大道618号桔园洲星网锐捷科技园19-22栋变更为350000 福建省福州市仓山区金山大道618号桔园洲星网锐捷科技园19-22栋
专利权人由福建星网视易信息系统有限公司变更为空
- 2013-06-19
专利权的转移
登记生效日: 2013.05.23
专利权人由福建星网锐捷通讯股份有限公司变更为福建星网锐捷通讯股份有限公司
地址由350000 福建省福州市仓山区金山大道618号桔园洲星网锐捷科技园19-22栋变更为350000 福建省福州市仓山区金山大道618号桔园洲星网锐捷科技园19-22栋
专利权人变更为福建星网视易信息系统有限公司
- 2013-05-01
- 2012-05-23
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201110200455.4
申请日: 2011.07.15
- 2011-11-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |
已经帮助解决过
0个专利相关的问题
请问有什么能帮到你的吗?残忍拒绝