[发明专利]一种标记文件解析方法和装置有效
申请号: | 201210091311.4 | 申请日: | 2012-03-30 |
公开(公告)号: | CN102651019A | 公开(公告)日: | 2012-08-29 |
发明(设计)人: | 杭程;李超;万勇;任寰 | 申请(专利权)人: | 奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100016 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 标记 文件 解析 方法 装置 | ||
技术领域
本申请涉及数据解析技术领域,特别是涉及一种标记文件解析方法和装置。
背景技术
目前互联网技术已经深入影响人们的生活,诸如电子邮箱、论坛、网页游戏等也已成为人们日常工作和娱乐中不可或缺的一部分。但上述互联网应用大多需要用户注册并登录后才能使用,因此用户需要记忆大量的用户名和密码。为了帐号的安全,用户通常还需要设置较为复杂的数字、字母、特殊符号组合的密码,进一步加大了记忆的难度,在每次登录时还需要手工输入,这一切无疑对用户的使用造成了负担。网页自动填表就是解决这一问题的技术,它可以在保存用户在网页中输入的用户名和密码,在下一次用户打开相同网页时,自动帮用户填写已保存的用户名和密码,用户不必再记忆和填写大量的用户名和密码,使用各种网络资源和服务更加轻松随意。
自动填表这项技术中的关键在于能够预先检测并判断页面中是否存在用户需要填写并提交的表单,是登录表单?还是注册表单?首先要能识别这些表单,然后才可以实现后续的保存、帮助用户填写的步骤。
目前,现有识别网页表单的技术一般包括以下步骤:
首先,获取网页中的表单。通过识别网页对应的超文本代码(HTML,HyperText Markup Language)中是否存在<form>标签,若存在,就将该<form>标签内所有<input>输入框作为一个表单。参见下面的一个<form>表单的示例代码:
其次,识别所获表单的类型,确定该表单是否为需要自动填表的对象。其关键是要能识别该表单是否是登录表单。具体的,通过判断该表单中输入框<input>的类型type为密码框password的输入框个数来判断该表单是否是登录表单。若该表单中密码输入框个数为1则认为该表单为登录表单。
最后,对识别出的登录表单实施自动填写等相关操作。
可以看出,以上现有表单识别过程中首先要找到网页中的<form>标签,将该<form>标签内的输入框作为一个表单后才能实施后续进一步的分析。但由于目前很多页面中并不是所有表单实现都使用<form>标签,而是存在多种实现表单的方式,如在<div>标签中实现含有输入框的表单,其HTML参考代码如下:
面对这种大量存在的缺少<form>标签的表单,基于现有技术的表单识别方法就会失败,造成识别成功率非常低。据统计,上述现有技术表单识别成功率只有40%左右。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高现有网页表单识别技术中因网页中缺失<form>标签而导致的识别失败,识别成功率低的问题。
发明内容
本申请所要解决的技术问题是提供一种标记文件解析方法和装置,以便有效解决现有技术解析HTML网页时成功率低的问题。
为了解决上述问题,本申请公开了一种标记文件解析方法,包括:
获取标记文件中的标签对象,生成标签集合;
根据所述标签集合中标签对象的公共属性,对所述标签对象进行分组,从所述分组的结果获得一个或多个分组标签;
依据预置的标记文件解析映射表,匹配所述一个或多个分组标签中的标签对象的属性;
从相匹配的分组标签中,获取标记文件解析用的数据。
优选的,根据所述标签集合中标签对象的公共属性对所述标签对象进行分组,包括:
将标签集合中具有相同父节点的标签对象置于同一分组标签内。
优选的,所述从所述分组的结果获得一个或多个分组标签之后还包括分组标签再分组,包括:
判断当前分组结果中一个或多个分组标签;若当前分组标签包含两个或多个标签对象,且所述两个或多个标签对象不具有相同的父节点,则将当前分组标签内具有相同父节点的标签对象置于另一分组标签内;重复上述步骤直到当前分组标签不可再分组。
优选的,所述标记文件是超文本标记HTML文件。
优选的,所述标签对象是<input>输入框;
所述依据预置的标记文件解析映射表,匹配所述一个或多个分组标签中的标签对象的属性还包括:
若当前分组标签中仅含有1个密码输入框,且位于所述密码输入框下级兄弟节点的标签对象不是文本输入框,则当前分组标签为登录表单。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇智软件(北京)有限公司,未经奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210091311.4/2.html,转载请声明来源钻瓜专利网。