一种标记文件解析方法和装置制造方法

文档序号:6518120阅读:198来源:国知局
一种标记文件解析方法和装置制造方法
【专利摘要】本申请提供了一种标记文件解析方法和装置,用以解决现有技术中对标记文件解析成功率低的问题。本申请通过获取标记文件中的标签对象生成标签集合;根据所述标签集合中标签对象的公共属性对所述标签对象进行分组;从所述分组的结果获得一个或多个分组标签;依据预置的标记文件解析映射表,匹配所述一个或多个分组标签中的标签对象的属性;从相匹配的分组标签中获取标记文件解析用的数据。对标签对象按其公共属性进行分组,使得标记文件中原本无序的标签对象之间建立了关联,非常有利于做进一步的匹配分析,有效提高了标记文件的解析成功率。
【专利说明】一种标记文件解析方法和装置
[0001]本发明专利申请是申请日为2012年3月30日、申请号为201210091311.4、名称为“ー种标记文件解析方法和装置”的中国发明专利申请的分案申请。
【技术领域】
[0002]本申请涉及数据解析【技术领域】,特别是涉及ー种标记文件解析方法和装置。
【背景技术】
[0003]目前互联网技术已经深入影响人们的生活,诸如电子邮箱、论坛、网页游戏等也已成为人们日常工作和娱乐中不可或缺的一部分。但上述互联网应用大多需要用户注册并登录后才能使用,因此用户需要记忆大量的用户名和密码。为了帐号的安全,用户通常还需要设置较为复杂的数字、字母、特殊符号组合的密码,进一歩加大了记忆的难度,在毎次登录时还需要手工输入,这一切无疑对用户的使用造成了负担。网页自动填表就是解决这ー问题的技木,它可以在保存用户在网页中输入的用户名和密码,在下一次用户打开相同网页吋,自动帮用户填写已保存的用户名和密码,用户不必再记忆和填写大量的用户名和密码,使用各种网络资源和服务更加轻松随意。
[0004]自动填表这项技术中的关键在于能够预先检测并判断页面中是否存在用户需要填写并提交的表単,是登录表単?还是注册表単?首先要能识别这些表单,然后才可以实现后续的保存、帮助用户填写的步骤。
[0005]目前,现有识别网页表单的技术一般包括以下步骤:
[0006]首先,获取网页中的表单。通过识别网页对应的超文本代码(HTML,HyperTextMarkup Language)中是否存在〈form〉标签,若存在,就将该〈form〉标签内所有〈input〉输入框作为ー个表単。參见下面的ー个〈form〉表单的示例代码:
[0007]
<form action="form action.asp" metnod="get">
くp>用户名:くinput type="text" name="fname" /></p>
く、石马:くinput type="password" name="lname" /></p>
くinput type="submit" value=”提父” />
</form>
[0008]其次,识别所获表单的类型,确定该表单是否为需要自动填表的对象。其关键是要能识别该表单是否是登录表単。具体的,通过判断该表单中输入框〈input〉的类型type为密码框password的输入框个数来判断该表单是否是登录表単。若该表单中密码输入框个数为I则认为该表单为登录表単。
[0009]最后,对识别出的登录表单实施自动填写等相关操作。
[0010]可以看出,以上现有表单识别过程中首先要找到网页中的〈form〉标签,将该〈form〉标签内的输入框作为ー个表单后才能实施后续进一歩的分析。但由于目前很多页面中并不是所有表单实现都使用〈form〉标签,而是存在多种实现表单的方式,如在<div>标签中实现含有输入框的表单,其HTML參考代码如下:
[0011]
【权利要求】
1.一种标记文件解析方法,其特征在于,包括: 获取标记文件中的标签对象,生成标签集合; 根据所述标签集合中标签对象的公共属性,对所述标签对象进行分组,从所述分组的结果获得ー个或多个分组标签; 依据预置的标记文件解析映射表,匹配所述ー个或多个分组标签中的标签对象的属 性; 从相匹配的分组标签中,获取标记文件解析用的数据。
2.如权利要求1所述的方法,其特征在于,根据所述标签集合中标签对象的公共属性对所述标签对象进行分组,包括: 将标签集合中具有相同父节点的标签对象置于同一分组标签内。
3.如权利要求2所述的方法,其特征在于,所述从所述分组的结果获得ー个或多个分组标签之后还包括分组标签再分组,包括: 判断当前分组结果中ー个或多个分组标签; 若当前分组标签包含两个或多个标签对象,且所述两个或多个标签对象不具有相同的父节点,则将当前分组标签内具有相同父节点的标签对象置于另一分组标签内; 重复上述步骤直到当前分组标签不可再分组。
4.如权利要求1所述的方法,其特征在于,所述标记文件是超文本标记HTML文件。
5.如权利要求1所述的方法,其特征在于,所述标签对象是〈input〉输入框; 所述依据预置的标记文件解析映射表,匹配所述ー个或多个分组标签中的标签对象的属性还包括: 若当前分组标签中仅含有I个密码输入框,且位于所述密码输入框下级兄弟节点的标签对象不是文本输入框,则当前分组标签为登录表単。
6.如权利要求5所述的方法,其特征在于,还包括: 若当前分组标签为登录表单,且当前分组标签内密码输入框存在多级父节点,且当前分组标签不可再分,且所述密码输入框的最近父节点内包括至少ー个文本输入框,则将所述密码输入框最近父节点内的标签对象置于新的分组标签内。
7.如权利要求5所述的方法,其特征在于,所述依据预置的标记文件解析映射表,匹配所述ー个或多个分组标签中的标签对象的属性还包括: 若当前分组标签中仅含有I个密码输入框,且位于所述密码输入框下级兄弟节点的标签对象是文本输入框,则当前分组标签为注册表单。
8.如权利要求7所述的方法,其特征在于,所述依据预置的标记文件解析映射表,匹配所述ー个或多个分组标签中的标签对象的属性还包括: 若当前分组标签中包含2个位置连续的且互为兄弟节点的密码输入框,则当前分组标签为注册表单。
9.ー种网页填充方法,其特征在于,包括:标记文件解析;目标数据存储;目标数据填充; 所述标记文件解析包括: 获取标记文件中的标签对象,生成标签集合; 根据所述标签集合中标签对象的公共属性,对所述标签对象进行分组,从所述分组的结果获得ー个或多个分组标签; 依据预置的标记文件解析映射表,匹配所述ー个或多个分组标签中的标签对象的属性; 相匹配的分组标签为目标输入项; 所述目标数据存储包括: 从所述目标输入项中获取目标数据并存储在配置信息中; 所述目标数据填充包括: 从配置信息中获取目标数据并填充在所述标记文件对应的目标输入项中。
10.一种标记文件解析装置,其特征在于,包括: 获取模块,用于获取标记文件中的标签对象; 集合生成模块,用于将所述获取模块得到的标签对象生成标签集合; 分组模块,用于根据所述标签集合中标签对象的公共属性对所述标签对象进行分组; 分组标签获取模块,用于获取所述分组模块生成的ー个或多个分组标签; 标记文件解析映射表,用于预先存储标记文件的解析映射信息; 解析模块,用于依据标记文件解析映射表,匹配所述分组标签获取模块所获取的ー个或多个分组标签中的标签对象的属性;从相匹配的分组标签中获取标记文件解析用的数据。
【文档编号】G06F17/30GK103577578SQ201310548150
【公开日】2014年2月12日 申请日期:2012年3月30日 优先权日:2012年3月30日
【发明者】杭程, 李超, 万勇, 任寰 申请人:奇智软件(北京)有限公司, 北京奇虎科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1