CN107145481A - 电子设备、存储介质、网页表单填充方法及装置 - Google Patents
电子设备、存储介质、网页表单填充方法及装置 Download PDFInfo
- Publication number
- CN107145481A CN107145481A CN201710313769.2A CN201710313769A CN107145481A CN 107145481 A CN107145481 A CN 107145481A CN 201710313769 A CN201710313769 A CN 201710313769A CN 107145481 A CN107145481 A CN 107145481A
- Authority
- CN
- China
- Prior art keywords
- keyword
- web form
- filling
- fill method
- filled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开是关于一种网页表单填充方法及装置,该网页表单填充方法包括:根据网页输入表单的资源信息判断输入框的待填充信息类别;查找所述待填充信息类别对应的填充内容;利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。该方法可以提高爬虫对网页的爬取效率。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种网页表单填充方法以及一种网页表单填充装置。
背景技术
Web漏洞扫描器是一种扫描网站安全漏洞的系统工具,它可以帮助网站所有者判断自己的网站是否存在安全性问题,并在判断该网站具有安全性问题时修复该安全性问题,进而达到避免黑客入侵的目的,比如Acunetix Web Vulnerability Scanner(Acunetix网站及服务器漏洞扫描软件)以及绿盟的WVSS(Web Vulnerability Scanning System,Web应用漏洞扫描系统)等等。
WEB漏洞扫描器可以包括网络爬虫、扫描策略调度引擎以及报表展示等模块。其中,网络爬虫是扫描策略调度引擎的基石,因为只有被网络爬虫覆盖到的网页才可以进行漏洞扫描。
网络爬虫可以爬取网页内容,并利用WEB漏洞扫描器对被爬取的网页内容进行扫描。在网络爬虫的爬取过程中,自动填写网页输入框的技术被称为表单自动填充技术。在一种表单自动填充技术中,只有使用一些键值对(参考图1所示)才能对网页输入框进行填充。例如,下面是填充用户名和密码的表单数据框键值对:
Password=>“123456”;Username=>“jack”;
在爬虫爬取过程中,当遇到name=“username”的输入框时,就可以把该表单中name=“Password”的输入框的填写值设置为jack(参考图2所示)。但是,上述技术方案不能解决大多数网页的表单填充,当遇到不能在数据库中存储的键值对中查找到的输入框属性值时,爬虫就不能继续进行爬取,大大降低了爬虫的覆盖率。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种网页表单填充方法以及一种网页表单填充装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供一种网页表单填充方法,包括:
根据网页输入表单的资源信息判断输入框的待填充信息类别;
查找所述待填充信息类别对应的填充内容;
利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。
在本公开的一种示例性实施例中,所述资源信息包括网页URL路径、输入框名称、输入框标签以及输入框占位符中的一种或多种。
在本公开的一种示例性实施例中,根据网页输入表单的资源信息判断输入框的待填充信息类别包括:
步骤S10,根据第一信息类别提取第一关键词并在数据库中查找所述第一关键词;
步骤S20,当查找到所述第一关键词时,获取所述第一关键词对应的待填充信息类别。
在本公开的一种示例性实施例中,所述网页表单填充方法还包括:
步骤S30,当未查找到所述第一关键词时,将所述第一关键词进行等同转换并在所述数据库中查找所述第一关键词的第一等同转换词;
步骤S40,当查找到所述第一等同转换词时,获取所述第一等同转换词对应的待填充信息类别。
在本公开的一种示例性实施例中,所述网页表单填充方法还包括:
步骤S50,当未查找到所述第一等同转换词时,计算所述第一关键词与所述第一信息类别下所有词汇的相似度并记录所述相似度大于相似度预设值的关键词;
步骤S60,将各所述相似度大于相似度预设值的关键词设定为第一相似关键词集合;
重复所述步骤S10至所述步骤S60,分别得到第二相似关键词集合、第三相似关键词集合以及第四相似关键词集合;
计算所述第一相似关键词集合、所述第二相似关键词集合、所述第三相似关键词集合以及所述第四相似关键词集合的交集并判断所述交集是否为空集;
在判断所述交集不为空集时,将该所述交集中相似度最大的关键词设置为目标关键词并获取所述目标关键词对应的待填充信息类别。
在本公开的一种示例性实施例中,所述网页表单填充方法还包括:
在判断所述交集为空集时,返回填充失败消息,和/或进行人工干预。
在本公开的一种示例性实施例中,所述网页表单填充方法还包括:
获取填充网页输入表单后服务器返回的Html内容,并查找所述Html内容中是否存在具有填充错误标识的关键字以判断填充结果是否正确;
在判断所述填充结果正确时,将所述填充结果存储至数据库中。
在本公开的一种示例性实施例中,所述网页表单填充方法还包括:
在判断所述填充结果错误时,记录错误结果并判断所述错误结果的频率是否超过一错误频率预设值;
在判断所述错误结果的频率超过所述错误频率预设值时,删除所述错误结果在所述数据库中对应的填充内容。
在本公开的一种示例性实施例中,所述网页表单信息填充方法还包括:
创建数据库;其中,所述数据库至少包括关键词、待填充信息类别以及填充内容。
在本公开的一种示例性实施例中,所述网页表单信息填充方法还包括:
通过机器学习对所述数据库进行完善。
在本公开的一种示例性实施例中,所述根据网页输入表单的资源信息判断输入框的待填充信息类别还包括:
将网页编码转换成统一编码。
根据本公开的一个方面,提供一种网页表单填充装置,包括:
信息类别判断模块,用于根据网页输入表单的资源信息判断输入框的待填充信息类别;
填充内容查找模块,用于查找所述待填充信息类别对应的填充内容;
输入框填充模块,用于利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的网页表单填充方法。
本公开一种网页表单填充方法及装置,通过根据网页输入表单的多种资源信息以及运用计算关键字相似度的方式综合判断输入框的待填充信息类别,并通过机器学习优化填充信息数据库,提高了输入框填充的准确率,提高了网络爬虫的覆盖率,使得网页漏洞的扫描更加全面,提高了网页的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了一种填充表单键值对表格示例图。
图2示意性示出了一种网页表单示例图。
图3示意性示出了一种网页表单填充方法的流程图。
图4示意性示出了一种待填充信息类别判断方法的流程图。
图5示意性示出了另一种网页表单填充方法的流程图。
图6示意性示出了一种数据库示例图。
图7示意性示出了另一种网页表单示例图。
图8示意性示出了一种网页表单填充装置的框图。
图9示意性示出了一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种网页表单填充方法。参考图3所示,该网页表单填充方法可以包括以下步骤:
步骤S310.根据网页输入表单的资源信息判断输入框的待填充信息类别。
步骤S320.查找所述待填充信息类别对应的填充内容。
步骤S330.利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。
上述网页表单填充方法,提高了输入框填充的准确率,提高了网络爬虫的覆盖率,使得网页漏洞的扫描更加全面,提高了网页的安全性。
下面,将对本示例实施方式中上述网页表单填充方法的各步骤进行详细的说明。
在步骤S310中,根据网页输入表单的资源信息判断输入框的待填充信息类别。
在本示例实施方式中,上述资源信息可以包括网页URL路径、输入框名称、输入框标签以及输入框占位符等,也可以包括输入框标识符,本示例实施方式对此不作特殊限制。其中,上述网页URL路径可以用于定位待输入输入框所在的网页的路径,例如可以是:/a/b/chongshe.jsp;上述输入框名称(name)可以用于规定输入元素的名称,可以通过爬虫浏览器内核Document树然后遍历Form元素获取输入框的Name属性;输入框名称例如可以是:username,或者也可以是:bankusercardid,本示例实施方式对此不做特殊限制;上述输入框标签(label)的属性与标识符(id)属性相同,可以用于为输入元素定义标注(标记),可以通过爬虫浏览器内核Document树并获取当前网页表单的Html内容,将输入框用占位符进行填充并把填充过的Html内容渲染成Text或者利用Html解析库转让成Text,然后通过定位占位符的所在行来抽取输入框标签;输入框标签例如可以是:*身份证;上述输入框占位符(placeholder)可以用于提供可描述输入字段预期值的提示信息,可以通过爬虫浏览器内核Document树遍历Form元素获取输入框的占位符属性。参考图4所示,上述根据网页输入表单的资源信息判断输入框的待填充信息类别可以包括步骤S10以及步骤S20。其中:
在步骤S10中,根据第一信息类别提取第一关键词并在数据库中查找所述第一关键词。
在本示例实施方式中,上述第一信息类别例如可以是输入框名称,也可以是输入框标签、输入框占位符或者网页URL路径,本示例实施方式对此不做特殊限制。举例而言:
例如,输入框名称是“用户名称符号”,则首先提取“用户名称符号”的关键词“用户名称”,然后在数据库中的近义词字段里查找该关键词“用户名称”。进一步的,为了使得提取出的关键词更加准确,可以先对第一信息类别进行去噪处理,例如:输入框名称是“用户名称符号_003”,则先对输入框名称是“用户名称符号_003”进行去噪处理,得到新的输入框名称“用户名称符号”,然后再提取关键词。此外,在本公开的其他示例性实施例中,也可以根据实际情况采用其他的方式对输入框名称进行处理,本示例性实施例中对此不做特殊限定。
在步骤S20中,当查找到所述第一关键词时,获取所述第一关键词对应的待填充信息类别。举例而言:
当查找到某一条记录里的近义词集合中包含关键词“用户名称”时,获取关键词“用户名称”对应的待填充信息类别为“用户姓名”。
在本示例的另一种示例实施方式中,上述网页表单填充方法还可以包括步骤S30以及步骤S40。其中:
在步骤S30中,当未查找到所述第一关键词时,将所述第一关键词进行等同转换并在所述数据库中查找所述第一关键词的第一等同转换词。具体而言:
当没有查找到关键词“用户名称”时,将关键词“用户名称”等同转换成“username”、“uname”或者是“name”等等,“用户名称”等同转换可以通过查询词典或者以其他的方式进行转换,本示例实施方式对此不做特殊限制;然后在数据库中的英文字段以及简写字段中分别查询与“username”、“uname”或者是“name”完全相同的记录否存在。进一步的,也可以将关键词“用户名称”等同转换成“yonghumingcheng”,然后在数据库中的拼音字段中查询与“yonghumingcheng”完全相同的记录是否存在;更进一步的,如果第一关键词是以拼音或者英文组成,则将该第一关键词中出现的大写字母统一都转换成小写字母再进行查询,例如,关键词是“YOnghuminGCheng”,则先将关键词“YOnghuminGCheng”转换为“yonghumingcheng”后,再进行查询。此外,在本公开的其他示例性实施例中,也可以根据实际情况采用其他的方式对第一关键词进行处理,例如:当第一关键词是拼音或者英文的时候,可以将拼音或者英文转换成汉字,然后再进行查询;本示例性实施例中对此不做特殊限定。
如果是拼音,统一转换成小写,则在词汇数据库拼音列里搜索完全相等的记录,如果找到的则返回;若果是英文,则在词汇数据库英文和简写字段里搜索完全相等的记录,如果找到的则返回,否则用这个关键词和每一条记录的英文词组集合里各个词汇,采用Difflib里SequenceMatcher模块,通过ratio方法得到相似度,并取得平均值,返回相似度平均值最大的前10条记录及其相相似度。
在步骤S40中,当查找到所述第一等同转换词时,获取所述第一等同转换词对应的待填充信息类别。具体而言:
当在上述数据库中查找到与上述关键词“username”、“uname”或者是“name”中任一一词完全相同的记录时,获取该关键词对应的待填充信息类别“用户姓名”。
在本示例的另一种示例实施方式中,参考图5所示,上述网页表单填充方法还可以包括步骤S50至步骤S90。其中:
在步骤S50中,当未查找到所述第一等同转换词时,计算所述第一关键词与所述第一信息类别下所有词汇的相似度并记录所述相似度大于相似度预设值的关键词。
在本示例实施方式中,上述相似度预设值取值范围为0~1,例如身份证和证件号的相似度、手机号和联系方式的相似度等等,可以包括0.8或者0.85,也可以是0.9等等,本示例实施方式对此不做特殊限制。举例而言:
当在上述数据库中没有查找到与上述关键词“username”、“uname”或者是“name”中任一一词完全相同的记录时,用这3个关键词分别和词汇数据库里每一条记录的英文词组集合中的各个词汇通过采用Difflib(帮助进行差异化比较,可以生成文本或者Html格式的差异化比较结果)里的SequenceMatcher(查找最大相同序列)模块中的Ratio方法得到相似度,并取得平均值,返回相似度平均值最大的前若干(可以是6条、8条或者10条等等,本示例实施方式对此不做特殊限制)条记录及其相似度;具体可以参考如下所示:
name with usename ratio=0.666666667;
name with password ratio=0.166666667;
uname with usname ratio=0.8888888889;
uname with cname ratio=0.8555555556;
username with xname ratio=0.9111111111;
username with um ratio=0.9555555555;
username with address ratio=0.3636363636;
在本示例实施方式中,为了提高填充的准确率,可以将相似度预设值配置为0.8,因此,可以返回的记录如下:
uname with usname ratio=0.8888888889;
uname with cname ratio=0.8555555556;
username with xname ratio=0.9111111111;
username with um ratio=0.9555555555。
在步骤S60中,将各所述相似度大于相似度预设值的关键词设定为第一相似关键词集合。具体而言:
将上述相似度大于0.8的关键词设定为第一相似关键词集合,则该第一相似关键词集合可以包括:{(usname,0.8888888889);(cname,0.8555555556);(xname,0.9111111111);(um,0.9555555555)}。
在步骤S70中,重复所述步骤S10至所述步骤S60,分别得到第二相似关键词集合、第三相似关键词集合以及第四相似关键词集合。详细而言:
由于根据上述第一信息类别提取的第一关键词在上述数据库中没有找到对应的填充信息类别,因此,为了增加网络爬虫的覆盖率并提高漏洞扫描的准确率,可以重复上述步骤S10至步骤S60,然后得到第二相似关键词集合、第三相似关键词集合以及第四相似关键词集合;第二相似关键词集合例如可以包括:{(real name,0.8888888889);(socialname,0.8555555556);(ID name,0.9111111111);(um,0.9777777778)};第三相似关键词集合例如可以包括{(input name,0.8888888889);(input uname,0.8555555556);(IN name,0.9111111111);(um,0.9555555555)};第四相似关键词集合例如可以包括{(set name,0.8888888889);(reset name,0.8555555556);(new name,0.9111111111);(um,0.9555555555)}。
进一步的,为了达到充分公开的目的,本示例实施方式以第二信息类别(可以是输入框标签,输入框标签例如是您的身份证姓名)为例进行进一步的解释:
在步骤S10中,对“您的身份证姓名”进行去噪处理,得到第二关键词“身份证姓名”,然后在数据库的近义词字段中查询是否存在“身份证姓名”的记录。
在步骤S201中,当查询到数据库的近义词字段中存在“身份证姓名”的记录时,获取“身份证姓名”对应的待填充信息类别为“用户名称”。
在步骤S301中,当查询到数据库的近义词字段中不存在“身份证姓名”的记录时,将“身份证姓名”转换为“real name”、“idcard name”或者“social name”,然后在数据库的英文以及简写字段中查询是否存在“realname”、“idcard name”或者“social name”的记录。
在步骤S401中,当查询到数据库的英文以及简写字段中存在“realname”、“idcardname”或者“social name”中任意一项的记录时,获取该项对应的待填充信息类别为“用户名称”。
在步骤S501中,当查询到数据库的英文以及简写字段中不存在“realname”、“idcard name”或者“social name”中任意一项的记录时,用这3个关键词分别和词汇数据库里每一条记录的英文以及简写集合中的各个词汇通过采用Difflib里SequenceMatcher模块中的Ratio方法得到相似度,并取得平均值,返回相似度平均值最大的前若干条记录及其相似度。
在步骤S601中,将上述相似度大于0.8的关键词设定为第一相似关键词集合,则该第一相似关键词集合可以包括:{(real name,0.8888888889);(social name,0.8555555556);(ID name,0.9111111111);(um,0.9777777778)}。
在步骤S80中,计算所述第一相似关键词集合、所述第二相似关键词集合、所述第三相似关键词集合以及所述第四相似关键词集合的交集并判断所述交集是否为空集。具体而言:
计算上述第一相似关键词集合、上述第二相似关键词集合、上述第三相似关键词集合以及上述第四相似关键词集合,结果可以包括:
{usname;cname;xname;um}∩{real name;social name;ID name;um}∩{inputname;input uname;IN name;um}∩{set name;reset name;new name;um}={um}。
在步骤S90中,在判断所述交集不为空集时,将该所述交集中相似度最大的关键词设置为目标关键词并获取所述目标关键词对应的待填充信息类别。具体而言:
上述交集为{um},交集不为空,然后选取{um,0.9777777778}对应的第二关键词“身份证姓名”作为目标关键词,然后获取“身份证姓名”对应的待填充信息类别“用户名称”。
在本示例的另一种实施方式中,上述网页表单填充方法还可以包括:在判断所述交集为空集时,返回填充失败消息,和/或进行人工干预。举例而言:
当 时,可以返回填充失败的消息;也可以手动自行输入。进一步的,通过手动自行输入,可以提高爬虫爬取的信息内容,同时提高爬取效率。
在步骤S320中,查找所述待填充信息类别对应的填充内容。举例而言:
参考图6所示,查找“用户姓名”对应的填充内容为“张XX”。此外,在本公开的其他示例性实施例中,用户姓名对应的填充内容也可以为“李小四”等等,本示例性实施例中对此不做特殊限定。
在步骤S330中,利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。
参考图7所示,将填充内容“张XX”填充到姓名对应的输入框。当该输入框完成填充后,继续进行下一个输入框的填充。
在本公开的一种示例性实施例中,所述网页表单填充方法还包括:
获取填充网页输入表单后服务器返回的Html内容,并查找所述Html内容中是否存在具有填充错误标识的关键字以判断填充结果是否正确。
在本示例实施方式中,当上述网页表单完成填充后,获取原始表单所在网页的渲染后的Html(Html A)以及填充完成后服务器返回的Html(Html B)内容,首先判断当前HtmlA以及Html B是否是以AJAX(异步JavaScript和XML)方式进行提交的,如果是,则将Html B进行编码转换得到UTF8(8-bit Unicode Transformation Format,可变长度字符编码)编码的Html,然后将其转换成Text数据,并对这些数据进行去干扰处理,然后逐条搜索错误关键词特征数据库里的词汇,如果查找到则返回本次表单填充失败;如果未查找到,则返回本次表单填充成功,然后将该填充结果保存至数据库中;如果不是AJAX(异步JavaScript和XML)方式提交的,则先将Html A以及Html B进行编码转换得到UTF8编码的Html,然后HtmlB去掉与Html A共有部分得到Html C;然后将Html C去干扰处理并逐条搜索错误关键词特征数据库里的词汇,如果查找到则返回本次表单填充失败。其中,上述去干扰处理就是把一些动词、语气词和形容词等去掉,如“您”、“输入的”等等,这样能提交判断精准度。
进一步的,为了增加下一次填充的正确率,上述网页表单填充方法还包括:在判断所述填充结果错误时,记录错误结果并判断所述错误结果的频率是否超过一错误频率预设值(可以是某一段时间内出现的次数,例如5次/天;也可以是总共出现的次数,例如共8次);在判断所述错误结果的频率超过所述错误频率预设值时,删除所述错误结果在所述数据库中对应的填充内容。此外,在本公开的其他示例性实施例中也可以根据实际情况以其他的方式增加下一次填充的准确率,本示例性实施例中对此不做特殊限定。
更进一步的,为了方便填充结果准确性的判断,会提前配置一个错误关键词特征数据库;该数据库可以增删改查模块和填充错误查询模块;增删改查模块提供对该特征数据库增删改查,为维护的控制台提供接口;内容可以包括:“电话格式”、“Phone NO.”、“邮箱格式”、“顶级域名”、“日期”等等,也可以“包括联系地址”、“联系人名称”等等,本示例实施方式对此不做特殊限制。
本公开还提供了另一种网页表单填充方法,该网页表单填充方法还包括:创建数据库;其中,所述数据库至少包括关键词、待填充信息类别以及填充内容。举例而言:
创建参考图6所示的数据库,该数据库可以包括拼音、英文、近义词、简写、填充信息类别以及填充内容等等;也可以包括关联词和关联度、中文词、填充集合等等,本示例实施方式对此不做特殊限制;该数据库具有维护模块,可以实现对该数据库的增删改查;该数据库还可以包括定期备份数据库模块以及批量导入导出子模块;其中,定期备份数据库模块包括一间隔时间配置参数,每间隔一个指定时间段(例如可以一周、一个月或者三个月等等,本示例实施方式对此不作特殊限制),定期备份数据库模块后台线程自动备份数据库到指定本地或者远程FTP(File Transfer Protocol,文件传输协议)目录;批量导入导出模块用于以Excel文件形式导入/导出特定数据;另外,当文件某行不合法则丢弃该行,如果该行主键存在则覆盖掉原有数据。
进一步的,为了使得该数据库数据更加的完善,可以通过机器学习对所述数据库进行完善。具体而言:
上述数据库还可以包括丰富词汇库模块以及完善词汇库模块;其中:丰富词汇库模块可以用于用爬虫定期爬取高PR(Page Ratio网站排名)网站的表单,提取输入框Label,构建Label数据库,分析出现次数大于一定次数的Label,如果词汇库里不存在,则按照词汇库里各个字段完善后导入词汇库;完善词汇库模块可以用于存储表单填充计算模块返回的每一条数据以及计算时候传入的表单,对于高频词(例如性别中的男、女)填充结果进行分析,如果高频词填充失败则人工完善该记录并分析原始表单查找原因,如果填充成功随机抽样填充的表单人工审阅完善精准度。
在本公开的另一种示例实施方式中,为了提高填充的准确率,在上述在步骤S10之前,还包括:将网页编码转换成统一编码。具体而言:
通过编码转换模块将网页编码转换成统一编码;其中,编码转换模块包括:网页编码转换模块、URL编码处理模块和JavascriptUnicode解码模块。网页编码转换模块负责把其他编码的Html转换成UTF8编码;URL编码处理模块负责支持中文的URL编码解码;JavascriptUnicode解码模块自动识别出JavascriptUnicode编码的数据,并转换成中文。此外,在本公开的其他示例性实施例中,上述编码转换模块也可以包括其他模块,本示例性实施例中对此不做特殊限定。
在本公开的一种网页表单填充方法示例实施方式中,该网页表单填充方法还可以包括以下步骤:
步骤S1,通过表单标识获取模块获取表单输入框name并通过表单填充计算模块计算最佳填充,如果找到完全匹配则返回最佳填充结果并且终止下面各个步骤,否则记录本步骤结果及其匹配度并转到步骤S2。
步骤S2,获取网页URL的最末层路径词汇,如/bbs/register/index.jsp的对应词汇是register;若存在其他干扰符号,则去掉一些干扰,例如数字和特殊字符,比如register_003处理后结果是register(以下称为末级路径词);把末级路径词通过表单填充计算模块计算最佳填充,如果找到完全匹配则返回最佳填充结果并且终止下面各个步骤,否则记录本步骤结果及其匹配度并转到步骤S3。
步骤S3,通过表单标识获取模块获取表单输入框Label并通过表单填充计算模块计算最佳填充,如果找到完全匹配则返回最佳填充结果并且终止下面各个步骤,否则记录本步骤结果及其匹配度并转到步骤S4。
步骤S4,通过表单标识获取模块获取表单输入框Placeholder并通过表单填充计算模块计算最佳填充,如果找到完全匹配则返回最佳填充结果并且终止下面各个步骤,否则记录本步骤结果及其匹配度并转到步骤S5。
步骤S5,分别取步骤S1、S2、S3、S4中相似度大于0.8的集合,取4者的交集,如果这个结果不为空,那么取该集合中相似度最大的一条记录为最佳匹配,并返回其所在行的填充集合,否则返回无法找到填充。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
本示例实施方式还提供了一种网页表单填充装置。参考图8所示,该网页表单填充装置可以包括信息类别判断模块810、填充内容查找模块820以及输入框填充模块830。其中:
信息类别判断模块810可以用于根据网页输入表单的资源信息判断输入框的待填充信息类别。
填充内容查找模块820可以用于查找所述待填充信息类别对应的填充内容。
输入框填充模块830可以用于利用所述填充内容填充所述网页输入表单。
上述网页表单填充装置中各模块的具体细节已经在对应的网页表单填充方法中进行了详细想描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本示例实施方式中还提出了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的码垛方法。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质中包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频等等,或者上述的任意合适的组合。
本示例实施方式中还提出了一种电子设备,如图9所示,该电子设备10包括:处理组件11,其进一步可以包括一个或多个处理器,以及由存储器12所代表的存储器资源,用于存储可由处理组件11执行的指令,例如应用程序。存储器12中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件11被配置为执行指令,以执行上述方法。
该电子设备10还可以包括:一个电源组件,电源组件被配置成对执行电子设备10进行电源管理;一个有线或无线网络接口13,被配置成将电子设备10连接到网络;以及一个输入输出(I/O)接口14。该电子设备10可以操作基于存储在存储器12的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (14)
1.一种网页表单填充方法,其特征在于,包括:
根据网页输入表单的资源信息判断输入框的待填充信息类别;
查找所述待填充信息类别对应的填充内容;
利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。
2.根据权利要求1所述的网页表单填充方法,其特征在于,所述资源信息包括网页URL路径、输入框名称、输入框标签以及输入框占位符中的一种或多种。
3.根据权利要求2所述的网页表单填充方法,其特征在于,根据网页输入表单的资源信息判断输入框的待填充信息类别包括:
步骤S10,根据第一信息类别提取第一关键词并在数据库中查找所述第一关键词;
步骤S20,当查找到所述第一关键词时,获取所述第一关键词对应的待填充信息类别。
4.根据权利要求3所述的网页表单填充方法,其特征在于,所述网页表单填充方法还包括:
步骤S30,当未查找到所述第一关键词时,将所述第一关键词进行等同转换并在所述数据库中查找所述第一关键词的第一等同转换词;
步骤S40,当查找到所述第一等同转换词时,获取所述第一等同转换词对应的待填充信息类别。
5.根据权利要求4所述的网页表单填充方法,其特征在于,所述网页表单填充方法还包括:
步骤S50,当未查找到所述第一等同转换词时,计算所述第一关键词与所述第一信息类别下所有词汇的相似度并记录所述相似度大于相似度预设值的关键词;
步骤S60,将各所述相似度大于相似度预设值的关键词设定为第一相似关键词集合;
重复所述步骤S10至所述步骤S60,分别得到第二相似关键词集合、第三相似关键词集合以及第四相似关键词集合;
计算所述第一相似关键词集合、所述第二相似关键词集合、所述第三相似关键词集合以及所述第四相似关键词集合的交集并判断所述交集是否为空集;
在判断所述交集不为空集时,将该所述交集中相似度最大的关键词设置为目标关键词并获取所述目标关键词对应的待填充信息类别。
6.根据权利要求5所述的网页表单填充方法,其特征在于,所述网页表单填充方法还包括:
在判断所述交集为空集时,返回填充失败消息,和/或进行人工干预。
7.根据权利要求1-6任意一项所述的网页表单填充方法,其特征在于,所述网页表单填充方法还包括:
获取填充网页输入表单后服务器返回的Html内容,并查找所述Html内容中是否存在具有填充错误标识的关键字以判断填充结果是否正确。
8.根据权利要求7所述的网页表单填充方法,其特征在于,所述网页表单填充方法还包括:
在判断所述填充结果错误时,记录错误结果并判断所述错误结果的频率是否超过一错误频率预设值;
在判断所述错误结果的频率超过所述错误频率预设值时,删除所述错误结果对应的填充内容。
9.根据权利要求1-6任一项所述的网页表单填充方法,其特征在于,所述网页表单信息填充方法还包括:
创建数据库;其中,所述数据库至少包括关键词、待填充信息类别以及填充内容。
10.根据权利要求9所述的网页表单填充方法,其特征在于,所述网页表单信息填充方法还包括:
通过机器学习对所述数据库进行完善。
11.根据权利要求1所述的网页表单填充方法,其特征在于,所述根据网页输入表单的资源信息判断输入框的待填充信息类别还包括:
将网页编码转换成统一编码。
12.一种网页表单填充装置,其特征在于,包括:
信息类别判断模块,用于根据网页输入表单的资源信息判断输入框的待填充信息类别;
填充内容查找模块,用于查找所述待填充信息类别对应的填充内容;
输入框填充模块,用于利用所述填充内容填充所述网页输入表单上对应位置的所述输入框。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11任一项的网页表单填充方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-11任一项所述的网页表单填充方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710313769.2A CN107145481B (zh) | 2017-05-05 | 2017-05-05 | 电子设备、存储介质、网页表单填充方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710313769.2A CN107145481B (zh) | 2017-05-05 | 2017-05-05 | 电子设备、存储介质、网页表单填充方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107145481A true CN107145481A (zh) | 2017-09-08 |
CN107145481B CN107145481B (zh) | 2020-06-09 |
Family
ID=59777465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710313769.2A Active CN107145481B (zh) | 2017-05-05 | 2017-05-05 | 电子设备、存储介质、网页表单填充方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145481B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107767929A (zh) * | 2017-11-13 | 2018-03-06 | 医渡云(北京)技术有限公司 | 病例报告表填写方法、装置、电子设备及存储介质 |
CN107798091A (zh) * | 2017-10-23 | 2018-03-13 | 金蝶软件(中国)有限公司 | 一种数据爬取的方法及其相关设备 |
TWI644230B (zh) * | 2017-11-06 | 2018-12-11 | 系微股份有限公司 | Safety management method and safety management system |
CN109783065A (zh) * | 2017-11-15 | 2019-05-21 | 财团法人资讯工业策进会 | 产生对话式用户接口的方法及系统 |
CN110096187A (zh) * | 2019-03-13 | 2019-08-06 | 中国平安人寿保险股份有限公司 | 一种信息录入方法、装置、设备和计算机可读存储介质 |
CN110347989A (zh) * | 2019-07-04 | 2019-10-18 | 北京明略软件系统有限公司 | 电子表格的生成方法及装置 |
CN111079038A (zh) * | 2019-11-01 | 2020-04-28 | 上海掌门科技有限公司 | 一种在应用中输入信息的方法与设备 |
CN112947834A (zh) * | 2021-01-27 | 2021-06-11 | 维沃移动通信有限公司 | 信息输入方法、装置及电子设备 |
CN115099792A (zh) * | 2022-08-24 | 2022-09-23 | 中科科界(北京)科技有限公司 | 项目申报表单的审核方法、装置、设备及存储介质 |
CN117010349A (zh) * | 2023-09-28 | 2023-11-07 | 杭州今元标矩科技有限公司 | 基于神经网络模型的表单填充方法、系统及存储介质 |
CN117235107A (zh) * | 2023-11-10 | 2023-12-15 | 恒生电子股份有限公司 | 数据访问处理方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184204A (zh) * | 2011-04-28 | 2011-09-14 | 常州大学 | 一种智能Web表单自动填充方法及系统 |
-
2017
- 2017-05-05 CN CN201710313769.2A patent/CN107145481B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184204A (zh) * | 2011-04-28 | 2011-09-14 | 常州大学 | 一种智能Web表单自动填充方法及系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798091A (zh) * | 2017-10-23 | 2018-03-13 | 金蝶软件(中国)有限公司 | 一种数据爬取的方法及其相关设备 |
CN107798091B (zh) * | 2017-10-23 | 2021-05-18 | 金蝶软件(中国)有限公司 | 一种数据爬取的方法及其相关设备 |
TWI644230B (zh) * | 2017-11-06 | 2018-12-11 | 系微股份有限公司 | Safety management method and safety management system |
CN107767929A (zh) * | 2017-11-13 | 2018-03-06 | 医渡云(北京)技术有限公司 | 病例报告表填写方法、装置、电子设备及存储介质 |
CN107767929B (zh) * | 2017-11-13 | 2024-04-05 | 医渡云(北京)技术有限公司 | 病例报告表填写方法、装置、电子设备及存储介质 |
CN109783065A (zh) * | 2017-11-15 | 2019-05-21 | 财团法人资讯工业策进会 | 产生对话式用户接口的方法及系统 |
CN110096187A (zh) * | 2019-03-13 | 2019-08-06 | 中国平安人寿保险股份有限公司 | 一种信息录入方法、装置、设备和计算机可读存储介质 |
CN110347989A (zh) * | 2019-07-04 | 2019-10-18 | 北京明略软件系统有限公司 | 电子表格的生成方法及装置 |
CN111079038B (zh) * | 2019-11-01 | 2023-11-17 | 上海掌门科技有限公司 | 一种在应用中输入信息的方法与设备 |
CN111079038A (zh) * | 2019-11-01 | 2020-04-28 | 上海掌门科技有限公司 | 一种在应用中输入信息的方法与设备 |
CN112947834A (zh) * | 2021-01-27 | 2021-06-11 | 维沃移动通信有限公司 | 信息输入方法、装置及电子设备 |
CN115099792A (zh) * | 2022-08-24 | 2022-09-23 | 中科科界(北京)科技有限公司 | 项目申报表单的审核方法、装置、设备及存储介质 |
CN115099792B (zh) * | 2022-08-24 | 2022-12-20 | 中科科界(北京)科技有限公司 | 项目申报表单的审核方法、装置、设备及存储介质 |
CN117010349A (zh) * | 2023-09-28 | 2023-11-07 | 杭州今元标矩科技有限公司 | 基于神经网络模型的表单填充方法、系统及存储介质 |
CN117010349B (zh) * | 2023-09-28 | 2023-12-19 | 杭州今元标矩科技有限公司 | 基于神经网络模型的表单填充方法、系统及存储介质 |
CN117235107A (zh) * | 2023-11-10 | 2023-12-15 | 恒生电子股份有限公司 | 数据访问处理方法、装置、电子设备及存储介质 |
CN117235107B (zh) * | 2023-11-10 | 2024-01-26 | 恒生电子股份有限公司 | 数据访问处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107145481B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145481A (zh) | 电子设备、存储介质、网页表单填充方法及装置 | |
US10698960B2 (en) | Content validation and coding for search engine optimization | |
US7418440B2 (en) | Method and system for extraction and organizing selected data from sources on a network | |
US8239387B2 (en) | Structural clustering and template identification for electronic documents | |
US20180225363A1 (en) | System and Methods for Automating Trademark and Service Mark Searches | |
US8751466B1 (en) | Customizable answer engine implemented by user-defined plug-ins | |
US20090089047A1 (en) | Natural Language Hypernym Weighting For Word Sense Disambiguation | |
US20140122407A1 (en) | Chatbot system and method having auto-select input message with quality response | |
CN107145496A (zh) | 基于关键词将图像与内容项目匹配的方法 | |
CN106874441A (zh) | 智能问答方法和装置 | |
US9798776B2 (en) | Systems and methods for parsing search queries | |
US8812508B2 (en) | Systems and methods for extracting phases from text | |
US8631097B1 (en) | Methods and systems for finding a mobile and non-mobile page pair | |
US8452795B1 (en) | Generating query suggestions using class-instance relationships | |
Szeredi et al. | The semantic web explained: The technology and mathematics behind web 3.0 | |
CN107958078A (zh) | 信息生成方法和装置 | |
US11755678B1 (en) | Data extraction and optimization using artificial intelligence models | |
CN105740417A (zh) | 一种基于网页的目标数据搜索方法、模块、浏览器及终端 | |
MacIntyre | PHP: The Good Parts: Delivering the Best of PHP | |
CN112580331A (zh) | 政策文本的知识图谱构建方法及系统 | |
CN103076894A (zh) | 一种用于根据对象标识信息构建输入词条的方法与设备 | |
RU2626663C2 (ru) | Способ и сервер для создания предложений по завершению поисковых запросов | |
CN117271558A (zh) | 语言查询模型构建方法、查询语言获取方法及相关装置 | |
CN114391142A (zh) | 使用结构化和非结构化数据的解析查询 | |
US11150871B2 (en) | Information density of documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |