CN115455327A - 页面模板生成方法、电子设备、存储介质及程序产品 - Google Patents
页面模板生成方法、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115455327A CN115455327A CN202210939306.8A CN202210939306A CN115455327A CN 115455327 A CN115455327 A CN 115455327A CN 202210939306 A CN202210939306 A CN 202210939306A CN 115455327 A CN115455327 A CN 115455327A
- Authority
- CN
- China
- Prior art keywords
- page
- dom
- dom structure
- page template
- template
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000003860 storage Methods 0.000 title claims abstract description 57
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 11
- 230000002349 favourable effect Effects 0.000 abstract description 4
- 238000009877 rendering Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000855 fermentation Methods 0.000 description 1
- 230000004151 fermentation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种页面模板生成方法、电子设备、存储介质及程序产品,该方法包括:对第一页面进行页面信息抓取,获取第一DOM结构;对第一DOM结构进行节点解析,得到第一DOM结构中的DOM节点;将至少一个第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;将第二DOM结构解析为页面模板。本发明实施例提供的页面模板生成方法、电子设备、存储介质及程序产品,实现了根据第一页面生成页面模板,有利于实现定制化页面的快速生成和迭代,提高开发效率,降低开发成本。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种页面模板生成方法、电子设备、存储介质及程序产品。
背景技术
目前网页开发需要针对产品需求文档开发不同的页面模板,可以通过可视化配置平台,对页面模板的配置项进行配置,从而输出不同的页面。但由于配置项的限制,现有大多通用型的页面模板无法满足快速迭代的定制化页面的需求。因此,对于大多定制化页面,仍需要从零开发,在页面设计有变动时,需要修改整个代码文件,人力和时间成本消耗巨大。
发明内容
针对现有技术存在的缺陷,本发明实施例提供一种页面模板生成方法、电子设备、存储介质及程序产品。
本发明实施例提供一种页面模板生成方法,包括:对第一页面进行页面信息抓取,获取第一DOM结构;对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;将所述第二DOM结构解析为页面模板。
根据本发明实施例提供的一种页面模板生成方法,所述方法还包括:获取对应所述预设变量的待填充数据;利用所述待填充数据对所述页面模板中对应的所述预设变量进行填充;基于填充好所述待填充数据的所述页面模板生成第二页面。
根据本发明实施例提供的一种页面模板生成方法,所述对第一页面进行页面信息抓取,获取第一DOM结构,包括:将所述第一页面的页面内容依次滚动到可视区域;对展示于所述可视区域的所述第一页面的页面内容进行录屏,获取多个页面视频帧;分别对所述多个页面视频帧进行页面信息抓取,获取多个DOM树;根据所述多个DOM树获取所述第一DOM结构。
根据本发明实施例提供的一种页面模板生成方法,在所述获取第一DOM结构之后,所述方法还包括:将所述第一DOM结构存储于第一存储区域;在所述得到第二DOM结构之后,所述方法还包括:将所述第二DOM结构存储于第二存储区域;在所述将所述第二DOM结构解析为页面模板之前,所述方法还包括:从所述第二存储区域读取所述第二DOM结构。
根据本发明实施例提供的一种页面模板生成方法,在所述将所述第一DOM结构存储于第一存储区域之前,所述方法还包括:响应于所述第一存储区域存储有与所述第一DOM结构具有相同预设区分标识的DOM结构,则不执行将所述第一DOM结构存储于所述第一存储区域的动作;其中,通过重复录屏得到的所述第一DOM结构具有相同的所述预设区分标识。
根据本发明实施例提供的一种页面模板生成方法,所述预设区分标识包括页面标识和时间戳的组合信息;其中,所述页面标识用于唯一地标识所述第一页面,所述时间戳用于表示对于所述第一页面的录屏时间。
根据本发明实施例提供的一种页面模板生成方法,所述方法还包括:在所述第一DOM结构和/或所述第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作。
本发明实施例还提供一种页面模板生成装置,包括:第一获取模块,用于:对第一页面进行页面信息抓取,获取第一DOM结构;第一解析模块,用于:对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;第二获取模块,用于:将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;第二解析模块,用于:将所述第二DOM结构解析为页面模板。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述页面模板生成方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述页面模板生成方法的步骤。
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述页面模板生成方法的步骤。
本发明实施例提供的页面模板生成方法、电子设备、存储介质及程序产品,通过对第一页面进行页面信息抓取,获取第一DOM结构;对第一DOM结构进行节点解析,得到第一DOM结构中的DOM节点,将至少一个第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构,将第二DOM结构解析为页面模板,实现了根据第一页面生成页面模板,有利于实现定制化页面的快速生成和迭代,提高开发效率,降低开发成本。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的页面模板生成方法的流程示意图之一;
图2是本发明实施例提供的页面模板生成方法的流程示意图之二;
图3是本发明实施例提供的页面模板生成方法的流程示意图之三;
图4是本发明实施例提供的页面模板生成装置的结构示意图;
图5是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的页面模板生成方法的流程示意图之一。如图1所示,所述方法包括:
步骤S1、对第一页面进行页面信息抓取,获取第一DOM结构。
由于现有可视化配置平台配置项的限制,对于某些定制化页面,无法通过配置项的配置而自动生成。但是这些定制化页面通常不是凭空想象的,而是参考了已有页面而提出相应的需求。这些已有页面可以是已经上线的一些页面,当然并不限定于上线页面,也可以是未上线的页面。由于定制化页面参考了已有页面,因此,如果利用已有页面生成定制化页面的页面模板,则可以根据页面模板快速生成定制化页面。本发明实施例中将已有页面称为第一页面,将基于第一页面得到的页面模板生成的页面称为第二页面。
对第一页面进行页面信息抓取,获取第一DOM结构。其中,DOM(Document ObjectModel)表示文档对象模型。rrweb是web录制、回放的基础库。可以利用rrweb技术对页面信息进行抓取,获取第一DOM结构。所抓取到的页面信息包括DOM结构信息(DOM树),根据所抓取到的DOM结构信息得到第一DOM结构。
步骤S2、对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点。
根据DOM节点的语法特征,对第一DOM结构进行节点解析,得到第一DOM结构中的DOM节点。
步骤S3、将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构。
根据定制化页面的设计需求,将DOM节点中需要配置的DOM节点分别替换为对应的预设变量,得到第二DOM结构。其中,预设变量为可赋值变量,可以通过填充数据进行赋值。
步骤S4、将所述第二DOM结构解析为页面模板。
本发明实施例提供的页面模板生成方法,可以利用node服务器实现。可以利用node服务器的已有能力将第二DOM结构解析为页面模板,实现可编辑能力。根据得到的页面模板对预设变量进行数据填充即可得到对应页面,可以实现页面的自动生成和快速迭代。
为提高处理能力,也可以将存储及部分处理功能分散到后端服务器进行处理。
本发明实施例提供的页面模板生成方法,通过对第一页面进行页面信息抓取,获取第一DOM结构;对第一DOM结构进行节点解析,得到第一DOM结构中的DOM节点,将至少一个第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构,将第二DOM结构解析为页面模板,实现了根据第一页面生成页面模板,有利于实现定制化页面的快速生成和迭代,提高开发效率,降低开发成本。
根据本发明实施例提供的一种页面模板生成方法,所述方法还包括:获取对应所述预设变量的待填充数据;利用所述待填充数据对所述页面模板中对应的所述预设变量进行填充;基于填充好所述待填充数据的所述页面模板生成第二页面。
替换为预设变量的DOM节点可以是DOM文本节点,也可以是其他类型DOM节点。将DOM节点替换成的预设变量是可赋值的变量。待填充数据可以根据需要为不同的类型,如可以是文本类型,还可以是DOM结构,本发明并不限定待填充数据的具体类型。
可以将预设变量对应的待填充数据存储到数据库中,从数据库中获取待填充数据。利用待填充数据对页面模板中对应的预设变量进行填充,完成预设变量的赋值,基于填充好待填充数据的页面模板通过无头浏览器生成第二页面。预设变量的待填充数据可以包括多组,以根据不同的待填充数据生成不同的第二页面。
在页面渲染模式上,可以采用SSR(Server Side Rendering,服务端渲染)渲染方式,相对于CSR(Client Site Rendering)的渲染方式,SSR渲染方式可以在渲染之前,预先由node服务器完成外链、CSS(Cascading Style Sheets,层叠样式表)、JS(JavaScript)等静态资源的加载,大大提高页面渲染性能。
本发明实施例提供的页面模板生成方法,通过获取对应预设变量的待填充数据,利用待填充数据对页面模板中对应的预设变量进行填充,基于填充好待填充数据的页面模板生成第二页面,实现了基于第一页面快速生成第二页面。
根据本发明实施例提供的一种页面模板生成方法,所述对第一页面进行页面信息抓取,获取第一DOM结构,包括:将所述第一页面的页面内容依次滚动到可视区域;对所述展示于所述可视区域的所述第一页面的页面内容进行录屏,获取多个页面视频帧;分别对所述多个页面视频帧进行页面信息抓取,获取多个DOM树;根据所述多个DOM树获取所述第一DOM结构。
在对第一页面进行页面信息抓取,获取第一DOM结构时,如果第一页面是个长页面,显示第一页面的设备无法在同一时间显示完全第一页面的所有信息,则可以将第一页面的页面内容依次滚动到设备的可视区域,比如按照自上而下的方式将第一页面的页面内容依次滚动到设备的可视区域,并在第一页面的滚动过程中进行录屏,得到多个页面视频帧。分别对多个页面视频帧进行页面信息抓取,得到多个DOM树,每个页面视频帧对应一个DOM树。根据得到的多个DOM树获取第一DOM结构。其中,第一DOM结构可以是得到的多个DOM树的集合。
需要说明的,对第一DOM结构进行节点解析时,不一定在得到所有的DOM树之后,才开始进行节点解析,也可提前进行。
本发明实施例提供的页面模板生成方法,通过将第一页面的页面内容依次滚动到可视区域,对展示于可视区域的第一页面的页面内容进行录屏,获取多个页面视频帧,分别对多个页面视频帧进行页面信息抓取,获取多个DOM树,根据多个DOM树获取第一DOM结构,实现了第一页面为长页面时对应第一DOM结构的获取。
根据本发明实施例提供的一种页面模板生成方法,在所述得到第二DOM结构之后,所述方法还包括:在所述获取第一DOM结构之后,所述方法还包括:将所述第一DOM结构存储于第一存储区域;在所述得到第二DOM结构之后,所述方法还包括:将所述第二DOM结构存储于第二存储区域;在所述将所述第二DOM结构解析为页面模板之前,所述方法还包括:从所述第二存储区域读取所述第二DOM结构。
在获取第一DOM结构之后,可以将第一DOM结构存储到第一存储区域,如存储于服务器上的某个数据库。在得到第二DOM结构之后,可以将第二DOM结构存储到第二存储区域,如存储于服务器上的某个数据库。第一存储区域和第二存储区域可以相同或不同。
在需要生成第二页面的时候,从第二存储区域读取第二DOM结构,将第二DOM结构解析为页面模板,将待填充数据填充到预设变量,通过无头浏览器生成第二页面。
node服务器可以直接进行第二DOM结构的存入和读取,也可以将第二DOM结构上传到后台服务器,通过后台服务器进行第二DOM结构的存入和读取。
本发明实施例提供的页面模板生成方法,通过在获取第一DOM结构之后,将第一DOM结构存储到第一存储区域,在得到第二DOM结构之后,将第二DOM结构存储到第二存储区域,在将第二DOM结构解析为页面模板之前,从第二存储区域读取第二DOM结构,方便了利用第二DOM结构随时生成第二页面。
根据本发明实施例提供的一种页面模板生成方法,在所述将所述第一DOM结构存储于第一存储区域之前,所述方法还包括:响应于所述第一存储区域存储有与所述第一DOM结构具有相同预设区分标识的DOM结构,则不执行将所述第一DOM结构存储于所述第一存储区域的动作;其中,通过重复录屏得到的所述第一DOM结构具有相同的所述预设区分标识。
为避免重复录屏的结果多次存储,在将第一DOM结构存储到第一存储区域之前,可以判断第一存储区域中是否存储有和第一DOM结构具有相同的预设区分标识的DOM结构,若有,则表示当前的第一DOM结构是通过重复录屏得到的,相同的第一DOM结构已经进行了存储,无需再次存储,则不再执行将第一DOM结构存储到第一存储区域的动作。
本发明实施例提供的页面模板生成方法,在将第一DOM结构存储到数据库之前,响应于第一存储区域存储有与第一DOM结构具有相同预设区分标识的DOM结构,则不执行将第一DOM结构存储到数据库的动作,实现了对于第一DOM结构的去重处理,有利于节约存储资源。
根据本发明实施例提供的一种页面模板生成方法,所述预设区分标识包括页面标识和时间戳的组合信息;其中,所述页面标识用于唯一地标识所述第一页面,所述时间戳用于表示对于所述第一页面的录屏时间。
在页面确定的情况下,可以通过录屏时间分辨是否重复录屏。因此可以获取页面标识和时间戳,并利用页面标识和时间戳的组合构建预设区分标识。其中,页面标识用于唯一地标识第一页面,如页面标识可以为页面路由标识符,页面标识可以通过页面堆栈信息获取;时间戳用于表示对于第一页面的录屏时间,可以取值为录屏开始的时间或录屏结束的时间。
本发明实施例提供的页面模板生成方法,通过根据第一页面的页面标识和时间戳构建预设区分标识,有利于提高第一DOM结构去重处理的可靠性。
根据本发明实施例提供的一种页面模板生成方法,所述方法还包括:在所述第一DOM结构和/或所述第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作。
可以根据定制化页面的需要,在第一DOM结构和/或第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作。比如,可以在对第一DOM结构进行节点解析之前,在第一DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作,或可以在将至少一个第一DOM结构的DOM节点分别替换为对应的预设变量之前,在第一DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作,或可以在得到第二DOM结构之后,在第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作。例如可以使用addedSet、movedSet、droppedSet实现对DOM节点的新增、移动、删除。
本发明实施例提供的页面模板生成方法,通过在第一DOM结构和/或第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作,有利于提高页面模板生成的灵活性。
图2是本发明实施例提供的页面模板生成方法的流程示意图之二。如图2所示,该方法包括:
第一页面加载完成后,判断环境变量是否为预发。若是预发环境,则进行下一步;否则结束。其中,预发环境即预发布环境,预发环境中新功能为最新代码,其他功能代码和生产环境一致。由于页面录屏及DOM抓取过程会对页面性能有影响,为了避免降低用户体验,保证录屏的完成性,建议在预发环境进行页面模板的生成。
读取全局配置项,获取初始化信息,如包括页面路径、录屏时间、项目信息等。
全局配置项读取完成后,新建rrweb录屏解析任务,将第一页面自上而下依次滚动到设备可视区域,保证页面完成性;rrweb可以对线上页面进行完整的抓取,通过rrweb录屏,捕获页面视频帧。
对每个页面视频帧进行页面信息抓取,得到DOM树,DOM树的集合构成第一DOM结构。
对第一DOM结构进行节点解析,得到DOM节点。
对第一DOM结构中的DOM节点做遍历,将指定的DOM节点替换为可赋值变量,得到第二DOM结构;可以将第二DOM结构及初始化信息以JSON形式上传服务器。
将第二DOM结构解析为页面模板。
图3是本发明实施例提供的页面模板生成方法的流程示意图之三。如图3所示,在得到页面模板后,可以利用页面模板实现第二页面的自动生成,该方法包括:
前端采用SSR渲染方式,使用node服务从数据库获取第二DOM结构(包括DOM节点)及API数据(通过应用程序接口获取的待填充数据)。可以将第二DOM结构及API数据存储到服务器的数据库。
将第二DOM结构解析为HTML渲染模板。
将请求到的API数据对指定DOM节点对应的预设变量进行填充。
通过无头浏览器生成静态图片(第二页面)。
本发明实施例提供的页面模板生成方法,能够对任意线上已有页面进行抓取捕获,以DOM结构形式上传服务器,并对指定DOM节点进行配置改造后重新自动生成页面,大大提高线上页面迭代速度,提高开发效率。
需要说明的是,本实施例所给出的多个优选实施方式,在逻辑或结构相互不冲突的前提下,可以自由组合,本发明对此不做限定。
下面对本发明实施例提供的页面模板生成装置进行描述,下文描述的页面模板生成装置与上文描述的页面模板生成方法可相互对应参照。
图4是本发明实施例提供的页面模板生成装置的结构示意图。如图4所示,所述装置包括第一获取模块10、第一解析模块20、第二获取模块30及第二解析模块40,其中:第一获取模块10用于:对第一页面进行页面信息抓取,获取第一DOM结构;第一解析模块20用于:对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;第二获取模块30用于:将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;第二解析模块40用于:将所述第二DOM结构解析为页面模板。
本发明实施例提供的页面模板生成装置,通过对第一页面进行页面信息抓取,获取第一DOM结构;对第一DOM结构进行节点解析,得到第一DOM结构中的DOM节点,将至少一个第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构,将第二DOM结构解析为页面模板,实现了根据第一页面生成页面模板,有利于实现定制化页面的快速生成和迭代,提高开发效率,降低开发成本。
根据本发明实施例提供的一种页面模板生成装置,所述装置还包括页面生成模块,用于:获取对应所述预设变量的待填充数据;利用所述待填充数据对所述页面模板中对应的所述预设变量进行填充;基于填充好所述待填充数据的所述页面模板生成第二页面。
本发明实施例提供的页面模板生成装置,通过获取对应预设变量的待填充数据,利用待填充数据对页面模板中对应的预设变量进行填充,基于填充好待填充数据的页面模板生成第二页面,实现了基于第一页面快速生成第二页面。
根据本发明实施例提供的一种页面模板生成装置,第一获取模块10在用于对第一页面进行页面信息抓取,获取第一DOM结构时,具体用于:将所述第一页面的页面内容依次滚动到可视区域;对展示于所述可视区域的所述第一页面的页面内容进行录屏,获取多个页面视频帧;分别对所述多个页面视频帧进行页面信息抓取,获取多个DOM树;根据所述多个DOM树获取所述第一DOM结构。
本发明实施例提供的页面模板生成装置,通过将第一页面的页面内容依次滚动到可视区域,对展示于可视区域的第一页面的页面内容进行录屏,获取多个页面视频帧,分别对多个页面视频帧进行页面信息抓取,获取多个DOM树,根据多个DOM树获取第一DOM结构,实现了第一页面为长页面时对应第一DOM结构的获取。
根据本发明实施例提供的一种页面模板生成装置,所述第一获取模块10在获取第一DOM结构之后,还用于:将所述第一DOM结构存储于第一存储区域;所述第二获取模块30在得到第二DOM结构之后,还用于:将所述第二DOM结构存储于第二存储区域;第二解析模块40在将所述第二DOM结构解析为页面模板之前,还用于:从所述第二存储区域读取所述第二DOM结构。
本发明实施例提供的页面模板生成装置,通过在获取第一DOM结构之后,将第一DOM结构存储到第一存储区域,在得到第二DOM结构之后,将第二DOM结构存储到第二存储区域,在将第二DOM结构解析为页面模板之前,从第二存储区域读取第二DOM结构,方便了利用第二DOM结构随时生成第二页面。
根据本发明实施例提供的一种页面模板生成装置,所述第二获取模块30在将所述第一DOM结构存储到数据库之前,还用于:响应于所述第一存储区域存储有与所述第一DOM结构具有相同预设区分标识的DOM结构,则不执行将所述第一DOM结构存储到数据库的动作;其中,通过重复录屏得到的所述第一DOM结构具有相同的所述预设区分标识。
本发明实施例提供的页面模板生成装置,在将第一DOM结构存储到第一存储区域之前,响应于第一存储区域存储有与第一DOM结构具有相同预设区分标识的DOM结构,则不执行将第一DOM结构存储到数据库的动作,实现了对于第一DOM结构的去重处理,有利于节约存储资源。
根据本发明实施例提供的一种页面模板生成装置,所述预设区分标识包括页面标识和时间戳的组合信息;其中,所述页面标识用于唯一地标识所述第一页面,所述时间戳用于表示对于所述第一页面的录屏时间。
本发明实施例提供的页面模板生成装置,通过根据第一页面的页面标识和时间戳构建预设区分标识,有利于提高第一DOM结构去重处理的可靠性。
根据本发明实施例提供的一种页面模板生成装置,所述装置还包括编辑模块,用于:在所述第一DOM结构和/或所述第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作。
本发明实施例提供的页面模板生成装置,通过在第一DOM结构和/或第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作,有利于提高页面模板生成的灵活性。
图5是本发明实施例提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行页面模板生成方法,该方法包括:对第一页面进行页面信息抓取,获取第一DOM结构;对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;将所述第二DOM结构解析为页面模板。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的页面模板生成方法,该方法包括:对第一页面进行页面信息抓取,获取第一DOM结构;对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;将所述第二DOM结构解析为页面模板。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的页面模板生成方法,该方法包括:对第一页面进行页面信息抓取,获取第一DOM结构;对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;将所述第二DOM结构解析为页面模板。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种页面模板生成方法,其特征在于,包括:
对第一页面进行页面信息抓取,获取第一DOM结构;
对所述第一DOM结构进行节点解析,得到所述第一DOM结构中的DOM节点;
将至少一个所述第一DOM结构的DOM节点分别替换为对应的预设变量,得到第二DOM结构;
将所述第二DOM结构解析为页面模板。
2.根据权利要求1所述的页面模板生成方法,其特征在于,所述方法还包括:
获取对应所述预设变量的待填充数据;
利用所述待填充数据对所述页面模板中对应的所述预设变量进行填充;
基于填充好所述待填充数据的所述页面模板生成第二页面。
3.根据权利要求1所述的页面模板生成方法,其特征在于,所述对第一页面进行页面信息抓取,获取第一DOM结构,包括:
将所述第一页面的页面内容依次滚动到可视区域;
对展示于所述可视区域的所述第一页面的页面内容进行录屏,获取多个页面视频帧;
分别对所述多个页面视频帧进行页面信息抓取,获取多个DOM树;
根据所述多个DOM树获取所述第一DOM结构。
4.根据权利要求3所述的页面模板生成方法,其特征在于,在所述获取第一DOM结构之后,所述方法还包括:将所述第一DOM结构存储于第一存储区域;在所述得到第二DOM结构之后,所述方法还包括:将所述第二DOM结构存储于第二存储区域;
在所述将所述第二DOM结构解析为页面模板之前,所述方法还包括:从所述第二存储区域读取所述第二DOM结构。
5.根据权利要求4所述的页面模板生成方法,其特征在于,在所述将所述第一DOM结构存储于第一存储区域之前,所述方法还包括:
响应于所述第一存储区域存储有与所述第一DOM结构具有相同预设区分标识的DOM结构,则不执行将所述第一DOM结构存储于所述第一存储区域的动作;其中,通过重复录屏得到的所述第一DOM结构具有相同的所述预设区分标识。
6.根据权利要求5所述的页面模板生成方法,其特征在于,所述预设区分标识包括页面标识和时间戳的组合信息;其中,所述页面标识用于唯一地标识所述第一页面,所述时间戳用于表示对于所述第一页面的录屏时间。
7.根据权利要求1所述的页面模板生成方法,其特征在于,所述方法还包括:
在所述第一DOM结构和/或所述第二DOM结构中进行DOM节点删除、新增、移动和/或更改节点类型的操作。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述页面模板生成方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述页面模板生成方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述页面模板生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210939306.8A CN115455327A (zh) | 2022-08-05 | 2022-08-05 | 页面模板生成方法、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210939306.8A CN115455327A (zh) | 2022-08-05 | 2022-08-05 | 页面模板生成方法、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455327A true CN115455327A (zh) | 2022-12-09 |
Family
ID=84297532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210939306.8A Pending CN115455327A (zh) | 2022-08-05 | 2022-08-05 | 页面模板生成方法、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455327A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255975A (zh) * | 2017-12-27 | 2018-07-06 | 东软集团股份有限公司 | 模板构建方法、页面内容抓取方法及装置、介质及设备 |
CN110187878A (zh) * | 2019-05-29 | 2019-08-30 | 北京三快在线科技有限公司 | 一种页面生成方法和装置 |
CN112182473A (zh) * | 2020-12-01 | 2021-01-05 | 未鲲(上海)科技服务有限公司 | 页面操作行为回放方法、装置、计算机设备及存储介质 |
CN113238741A (zh) * | 2021-05-12 | 2021-08-10 | 平安科技(深圳)有限公司 | 表单配置方法、装置、电子设备及存储介质 |
-
2022
- 2022-08-05 CN CN202210939306.8A patent/CN115455327A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255975A (zh) * | 2017-12-27 | 2018-07-06 | 东软集团股份有限公司 | 模板构建方法、页面内容抓取方法及装置、介质及设备 |
CN110187878A (zh) * | 2019-05-29 | 2019-08-30 | 北京三快在线科技有限公司 | 一种页面生成方法和装置 |
CN112182473A (zh) * | 2020-12-01 | 2021-01-05 | 未鲲(上海)科技服务有限公司 | 页面操作行为回放方法、装置、计算机设备及存储介质 |
CN113238741A (zh) * | 2021-05-12 | 2021-08-10 | 平安科技(深圳)有限公司 | 表单配置方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492177B (zh) | 一种基于网页语义结构的网页分块方法 | |
CN104765746B (zh) | 用于移动通讯终端浏览器的数据处理方法和装置 | |
CN110647322B (zh) | 列表渲染方法、装置、电子设备和计算机可读介质 | |
CN106603690A (zh) | 数据分析装置、数据分析处理系统和数据分析方法 | |
CN105550179B (zh) | 一种网页收藏方法和浏览器插件 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN102437894A (zh) | 用于对待发送信息进行压缩处理的方法、装置及设备 | |
CN115438740A (zh) | 一种多源数据的汇聚融合方法和系统 | |
EP3564833B1 (en) | Method and device for identifying main picture in web page | |
CN110162301B (zh) | 一种表单渲染方法、装置和存储介质 | |
CN116954450A (zh) | 针对前端网页的截图方法以及装置、存储介质、终端 | |
CN115455327A (zh) | 页面模板生成方法、电子设备、存储介质及程序产品 | |
CN113407678B (zh) | 知识图谱构建方法、装置和设备 | |
CN111813555B (zh) | 基于互联网技术的超融合基础架构分层资源管理系统 | |
CN115859431A (zh) | 三维建筑模型与二维图纸的联动方法、装置和设备 | |
CN115454382A (zh) | 需求处理方法和装置、电子设备、存储介质 | |
KR102444172B1 (ko) | 영상 빅 데이터의 지능적 마이닝 방법과 처리 시스템 | |
CN114625658A (zh) | App稳定性测试方法、装置、设备和计算机可读存储介质 | |
CN110990104B (zh) | 一种基于Unity3D的纹理渲染方法及装置 | |
CN115035044A (zh) | 一种应用于工业质检的智能ai平台 | |
CN111651531A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN106469086B (zh) | 事件处理方法和装置 | |
KR20200103133A (ko) | 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치 | |
CN116737833A (zh) | 基于分区模式的cdc数据资源同步方法及其相关设备 | |
CN115712742A (zh) | 基于Android系统的内容记录方法、装置、存储介质和设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221209 |
|
RJ01 | Rejection of invention patent application after publication |