[发明专利]一种元素代码的提取方法及系统有效
申请号: | 201810239789.4 | 申请日: | 2018-03-22 |
公开(公告)号: | CN108446136B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 沈科 | 申请(专利权)人: | 北京焦点新干线信息技术有限公司 |
主分类号: | G06F8/74 | 分类号: | G06F8/74 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100086 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 元素 代码 提取 方法 系统 | ||
本发明公开了一种元素代码的提取方法,包括获取目标网站的文档对象模型中的待提取元素;解析所述待提取元素中包含的目标元数据;对所述目标元数据依据预设的样式去重处理算法进行样式去重处理,得到目标样式数据;将所述目标样式数据转换成可提取的目标代码,对所述目标代码进行提取。上述的方法,在获取到所述目标元素的目标元数据以后,对所述目标元数据进行了样式去重处理,避免了现有的一键提取元素代码的过程中,没有对提取过程进行处理,导致样式仍然存在不少冗余、缺漏、值不准确的问题,无法作为二次开发的基础代码的问题。
技术领域
本发明涉及Web前端技术领域,尤其涉及一种元素代码的提取方法及系统。
背景技术
前端页面元素是由前端工程师结合用户视觉交互设计和程序设计,使用多种计算机语言(包括但不限于HTML、CSS、JavaScript)编写和编译,最终展现和运行于浏览器上的文档的一部分。可以认为,HTML决定元素的结构,CSS决定元素的外观,JS在元素加载后进行有选择的控制。因此,CSS开发是元素开发前期的主要工作。由于层叠样式表的复杂性以及一些工程化的因素,元素的样式极容易产生复杂的交叉影响,随着代码的重构和工程的迭代,元素的源代码的复用难度不断增加,很大程度上减缓了软件工程开发的进度。为了实现元素的高可复用性,以Chrome浏览器开发者工具扩展的形式SnappySnippet,实现了一键提取所选元素的元素代码。
发明人对元素代码的提取过程进行研究发现,SnappySnippet提取元素代码的过程是一键提取的,没有对提取过程进行处理,因此,样式仍然存在不少冗余、缺漏、值不准确的问题,无法作为二次开发的基础代码。
发明内容
有鉴于此,本发明提供了一种元素代码的提取方法,用以解决现有技术中提取元素代码的过程是一键提取的,没有对提取过程进行处理,因此,样式仍然存在不少冗余、缺漏、值不准确的问题,无法作为二次开发的基础代码的问题。具体方案如下:
一种元素代码的提取方法,包括:
获取目标网站的文档对象模型中的待提取元素;
解析所述待提取元素中包含的目标元数据;
对所述目标元数据依据预设的样式去重处理算法进行样式去重处理,得到目标样式数据;
将所述目标样式数据转换成可提取的目标代码,对所述目标代码进行提取。
上述的方法,可选的,解析所述待提取元素中包含的目标元数据包括:
获取所述目标元素中包含的各个节点和其对应的标签属性数据集和样式表数据集;
将所述标签属性数据集和所述样式表数据集中数据与预设的必要属性和样式数据库中的各个必要数据进行比对;
将所述标签属性数据集中和所述样式表数据集中不存在于所述预设的必要属性和样式数据库中的数据删除,得到第一标签属性数据集和第一样式表数据集,其中,所述第一标签属性数据集和所述第一样式表数据集组成所述待提取元素中包含的目标元数据。
上述的方法,可选的,对所述目标元数据依据预设的样式去重处理算法进行样式去重处理包括:
将所述目标元数据中包含的默认样式数据进行过滤,得到第一目标样式数据;
对所述第一目标元数据中与网页开发者定义的样式属性值的不同的样式属性值还原,得到第二目标样式数据;
对与所述第二目标样式数据进行统计、抽取得到公共样式数据;
将所述公共样式数据与所述第二目标样式数据进行整合,得到目标样式数据。
上述的方法,可选的,还包括:
判断所述待提取元素中是否包含伪元素;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京焦点新干线信息技术有限公司,未经北京焦点新干线信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810239789.4/2.html,转载请声明来源钻瓜专利网。