本发明涉及网页设计,具体地,涉及一种页面适配方法及系统。
背景技术:
1、随着移动设备的普及,越来越多的企业需要将存量系统适配到移动设备,以满足用户的需求。其中,大量系统因过去技术的限制而缺乏维护或者技术老旧,导致无法通过二次开发进行移动端的页面的适配。
2、针对这部分系统,现有技术通常使用无头浏览器(head l ess browser)模拟爬虫(crawl er)过程,以元素层级、样式等为特征,通过元素选择器(se l ector)定位后,提取每个字段后转换为接口所需格式返回,以此进行页面的适配。
3、但是这种技术手段需要手动分析每个页面结构,当需要适配的页面或者页面中元素较多时,人工成本较高。且每个字段的特征较为固定,当页面因为后期开发、样式调整出现变化时,需要人工调整对应字段的特征,导致适配的效率极其低下。
技术实现思路
1、为了解决上述技术问题,本发明公开了一种页面适配方法及系统,用于提高页面适配的效率。
2、为了实现上述目的,本发明公开了一种页面适配方法,包括:
3、获取属于第一业务的若干个第一页面,并提取每一个所述第一页面对应的表单区域和非表单区域;
4、对位于所述表单区域内的字段进行特征分析,获取所述第一业务对应的表单字段特征;
5、基于所述非表单区域对若干个所述第一页面进行遍历,获取所述第一业务对应的只读业务字段;
6、对若干个所述第一页面进行比对分析,获取所述第一业务对应的定位标识符;
7、基于所述定位标识符获取所述第一业务对应的若干个第二页面;
8、基于所述表单字段特征和所述只读业务字段提取每一个所述第二页面对应的页面数据,并对所述页面数据进行渲染,完成页面的适配。
9、本发明公开的一种页面适配方法,首先获取属于同一业务的多个页面进行处理,以提取属于所述第一业务中多个页面具有的共有特征,进而根据所述共有特征进行页面的数据的提取,完成页面的适配,提高页面适配的效率。其中,首先将获取的第一页面中的区域划分为表单区域及非表单区域,以根据所述表单区域找到直接对应到所述第一业务的表单字段,进而提取所述表单字段的表单字段特征,进一步地,由于业务中还包括与表单无关,但与业务有关的字段,对此,为了保证页面数据提取的完整性,基于所述非表单区域遍历所有所述第一页面,获取所述第一业务对应的只读业务字段。然后为了将属于同一业务的所有页面均适配到待适配的终端上,通过比对所述第一页面,获取所述第一业务对应的标识符,进而根据所述标识符找到全部的第二页面,进而利用所述提取的表单字段特征和所述只读业务字段提取每一个所述第二页面,完成页面的适配,提高适配的效率。
10、作为优选例子,所述获取属于第一业务的若干个第一页面,包括:
11、获取属于所述第一业务的若干个初始页面;
12、遍历每一个所述初始页面,并解析所述初始页面的结构,以根据所述结构删除所述初始页面中的无用数据;
13、将每一个删除了所述无用数据后的初始页面转换为dom树结构,获得每一个所述初始页面对应的第一页面。
14、本发明删除每一个第一页面中的无用数据,以降低后续需要处理的数据量,提高特征提取的效率。进一步地,将每一个页面转为dom树结构,以根据所述dom树结构对页面进行分析,提高分析的准确率。
15、作为优选例子,所述提取每一个所述第一页面对应的表单区域和非表单区域,包括:
16、遍历所述dom树结构,并将所述dom树结构的最底层节点转换为对应的第一权重数组;其中,所述第一权重数组包括每一个所述最底层节点指向树节点的值及每一个所述最底层节点的权重;
17、将所述第一权重数组中相邻的元素相加,获得第二权重数组;
18、获取所述第二权重数组中高权重值连续出现的区域,并将所述区域确定为所述表单区域。
19、本发明基于所述dom树结构,利用最底层节点即最底层数据一一向上进行合并,逐步排查所述页面中的表单区域,提高表单区域划分的精准度,进而提高页面特征提取的精准度。
20、作为优选例子,所述对位于所述表单区域内的第一字段进行分析,获取所述第一页面对应的表单字段特征,包括:
21、获取每一个所述表单区域内的表单,以提取所述表单内字段对应的层次结构;
22、根据所述层次结构解析所述字段的名称及所述字段的值;其中,所述表单字段特征包括每一个表单的层次结构、字段的名称及字段的值。
23、本发明基于同一业务的表单具有相同的字段,由此通过对所述表单内的字段进行解析,获取每一个所述表单对应的层次结构及所述表单内字段的名称和字段的值,确定为表单字段特征,以使后续根据所述表单字段特征进行所有页面的数据的提取,提高页面适配的效率。
24、作为优选例子,所述基于所述非表单区域对若干个所述第一页面进行遍历,获取所述第一业务对应的只读业务字段,包括:
25、根据所述dom树结构,将每一个所述第一页面中最底层的节点映射为第一数组;其中,所述第一数组中每个元素的值为节点文字内容的长度。
26、计算每一个所述非表单区域对应的文字长度滑动值,以根据所述文字长度滑动值依次将所述第一数组划分为若干个区间;
27、计算每一个所述区间对应的文字平均长度,并提取所述文字平均长度小于预设的长度阈值时对应的第一区间;
28、获取所述第一区间在所述dom树结构中对应的公共父节点,以根据所述公共父节点从所述第一页面中获取所述只读业务字段。
29、本发明利用所述非表单区域和所述dom树结构一一划分若干个文字区间,并计算每一个所述文字区间的文字平均长度,以根据预设的阈值及所述文字平均长度提取可能存在只读业务字段的区域,进而提取所述区域内的只读业务字段,保证页面数据提取的完整性及精准度。
30、作为优选例子,所述对若干个所述第一页面进行比对分析,获取所述第一业务对应的定位标识符,包括:
31、对若干个所述第一页面的统一资源定位符进行比对分析;
32、通过预设的最长前缀匹配方法获取所述统一资源定位符的标识符,并将所述标识符确定为所述第一业务对应的定位标识符。
33、本发明通过对所述第一页面的统一资源定位符进行最长前缀匹配,可获取属于所述第一业务中的页面具有的统一的标识符,以使后续根据所述标识符获取同属于一个业务的所有的页面,保证业务的页面适配的完整度。
34、作为优选例子,所述对所述页面数据进行渲染,完成页面的适配,包括:
35、对所述页面数据进行流式格式化转换;
36、根据显示所述页面数据的终端的引擎对经过转换后的页面数据进行渲染,完成所述页面与所述终端的适配。
37、本发明对所述页面数据进行流式格式化转换,以使所述数据可适配不同的终端,提高页面适配的普遍性。进一步地,利用终端的引擎对所述页面数据进行渲染,使得所述页面数据适配所述终端,完成页面与终端的适配。
38、另一方面,本发明公开了一种页面适配系统,包括区域划分模块、表单提取模块、字段提取模块、页面定位模块、业务查询模块及页面适配模块;
39、所述区域划分模块用于获取属于第一业务的若干个第一页面,并提取每一个所述第一页面对应的表单区域和非表单区域;
40、所述表单提取模块用于对位于所述表单区域内的字段进行特征分析,获取所述第一业务对应的表单字段特征;
41、所述字段提取模块用于基于所述非表单区域对若干个所述第一页面进行遍历,获取所述第一业务对应的只读业务字段;
42、所述页面定位模块用于对若干个所述第一页面进行比对分析,获取所述第一业务对应的定位标识符;
43、所述业务查询模块用于基于所述定位标识符获取所述第一业务对应的若干个第二页面;
44、所述页面适配模块用于基于所述表单字段特征和所述只读业务字段提取每一个所述第二页面对应的页面数据,并对所述页面数据进行渲染,完成页面的适配。
45、本发明公开的一种页面适配系统,首先获取属于同一业务的多个页面进行处理,以提取属于所述第一业务中多个页面具有的共有特征,进而根据所述共有特征进行页面的数据的提取,完成页面的适配,提高页面适配的效率。其中,首先将获取的第一页面中的区域划分为表单区域及非表单区域,以根据所述表单区域找到直接对应到所述第一业务的表单字段,进而提取所述表单字段的表单字段特征,进一步地,由于业务中还包括与表单无关,但与业务有关的字段,对此,为了保证页面数据提取的完整性,基于所述非表单区域遍历所有所述第一页面,获取所述第一业务对应的只读业务字段。然后为了将属于同一业务的所有页面均适配到待适配的终端上,通过比对所述第一页面,获取所述第一业务对应的标识符,进而根据所述标识符找到全部的第二页面,进而利用所述提取的表单字段特征和所述只读业务字段提取每一个所述第二页面,完成页面的适配,提高适配的效率。
46、作为优选例子,所述区域划分模块包括预处理单元及区域筛选单元;
47、所述预处理单元用于获取属于所述第一业务的若干个初始页面;遍历每一个所述初始页面,并解析所述初始页面的结构,以根据所述结构删除所述初始页面中的无用数据;将每一个删除了所述无用数据后的初始页面转换为dom树结构,获得每一个所述初始页面对应的第一页面;
48、所述区域筛选模块用于遍历所述dom树结构,并将所述dom树结构的最底层节点转换为对应的第一权重数组;其中,所述第一权重数组包括每一个所述最底层节点指向树节点的值及每一个所述最底层节点的权重;将所述第一权重数组中相邻的元素相加,获得第二权重数组;获取所述第二权重数组中高权重值连续出现的区域,并将所述区域确定为所述表单区域。
49、本发明删除每一个第一页面中的无用数据,以降低后续需要处理的数据量,提高特征提取的效率。进一步地,将每一个页面转为dom树结构,以根据所述dom树结构对页面进行分析,提高分析的准确率。进一步地,基于所述dom树结构,利用最底层节点即最底层数据一一向上进行合并,逐步排查所述页面中的表单区域,提高表单区域划分的精准度,进而提高页面特征提取的精准度。
50、作为优选例子,所述表单提取模块包括层次解析单元及字段提取单元;
51、所述层次解析单元用于获取每一个所述表单区域内的表单,以提取所述表单内字段对应的层次结构;
52、所述字段提取单元用于根据所述层次结构解析所述字段的名称及所述字段的值;其中,所述表单字段特征包括每一个表单的层次结构、字段的名称及字段的值。
53、本发明基于同一业务的表单具有相同的字段,由此通过对所述表单内的字段进行解析,获取每一个所述表单对应的层次结构及所述表单内字段的名称和字段的值,确定为表单字段特征,以使后续根据所述表单字段特征进行所有页面的数据的提取,提高页面适配的效率。
1.一种页面适配方法,其特征在于,包括:
2.根据权利要求1所述的一种页面适配方法,其特征在于,所述获取属于第一业务的若干个第一页面,包括:
3.根据权利要求2所述的一种页面适配方法,其特征在于,所述提取每一个所述第一页面对应的表单区域和非表单区域,包括:
4.根据权利要求3所述的一种页面适配方法,其特征在于,所述对位于所述表单区域内的第一字段进行分析,获取所述第一页面对应的表单字段特征,包括:
5.根据权利要求2所述的一种页面适配方法,其特征在于,所述基于所述非表单区域对若干个所述第一页面进行遍历,获取所述第一业务对应的只读业务字段,包括:
6.根据权利要求1所述的一种页面适配方法,其特征在于,所述对若干个所述第一页面进行比对分析,获取所述第一业务对应的定位标识符,包括:
7.根据权利要求1所述的一种页面适配方法,其特征在于,所述对所述页面数据进行渲染,完成页面的适配,包括:
8.一种页面适配系统,其特征在于,包括区域划分模块、表单提取模块、字段提取模块、页面定位模块、业务查询模块及页面适配模块;
9.根据权利要求8所述的一种页面适配系统,其特征在于,所述区域划分模块包括预处理单元及区域筛选单元;
10.根据权利要求9所述的一种页面适配系统,其特征在于,所述表单提取模块包括层次解析单元及字段提取单元;
