CN110688118A - 一种网页优化方法及装置 - Google Patents
一种网页优化方法及装置 Download PDFInfo
- Publication number
- CN110688118A CN110688118A CN201911029123.7A CN201911029123A CN110688118A CN 110688118 A CN110688118 A CN 110688118A CN 201911029123 A CN201911029123 A CN 201911029123A CN 110688118 A CN110688118 A CN 110688118A
- Authority
- CN
- China
- Prior art keywords
- css
- original
- html
- name
- file
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种网页优化方法及装置,涉及互联网技术领域,其中方法包括:根据待优化的HTML网页的HTML模板文件,创建HTML网页的CSS样式的语法分析器,其中,语法分析器用于统计CSS样式的样式信息;根据HTML网页的原始CSS文件,生成对象关系模型;根据语法分析器和对象关系模型,确定CSS样式中的CSS选择器和原始CSS文件中的CSS选择器的优化信息;根据优化信息对HTML模板文件和原始CSS文件进行优化处理。通过本申请实施例,实现了网页代码压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种网页优化方法及装置。
背景技术
级联样式表(Cascading Style Sheet),简称CSS,其用于网页风格设计。在HTML网页发开发过程中,通常使用CSS来修饰页面,定义如何显示HTML元素。为了使开发代码更容易阅读和理解,发开人员通常使用语义化的CSS来定义网页中的HTML元素。然而语义化的CSS不可避免的会增加代码体积,降低网页加载速度,并且使得爬虫能够更容易的抓取到网页内容。
发明内容
本申请实施例的目的是提供一种网页优化方法及装置,在不影响HTML网页正常显示的情况下,优化网页代码以减小代码体积,提升网页加载速度并增加爬虫抓取网页内容的难度。
第一方面,本申请实施例提供了一种网页优化方法,包括:
根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
根据所述HTML网页的原始CSS文件,生成对象关系模型;
根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
第二方面,本申请实施例提供了一种网页优化装置,包括:
创建模块,用于根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
生成模块,用于根据所述HTML网页的原始CSS文件,生成对象关系模型;
确定模块,用于根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
优化模块,用于根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
第三方面,本申请实施例提供了一种网页优化设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现上述网页优化方法的步骤。
第四方面,本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现上述网页优化方法的步骤。
本申请实施例所提供的网页优化方法及装置,通过创建HTML网页的CSS样式的语义分析器,并基于HTML网页的原始CSS文件生成对象关系模型,从而根据该语义分析器和对象关系模型,确定CSS选择器的优化信息,并根据该优化信息对HTML网页的HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,实现了网页代码的压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆的作用,因而增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
附图说明
为了更清楚地说明本申请一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网页优化方法的场景示意图;
图2为本申请实施例提供的一种网页优化方法的流程示意图;
图3为本申请实施例提供的步骤S102的细化图;
图4为本申请实施例提供的步骤S104的细化图;
图5为本申请实施例提供的步骤S106的细化图;
图6为本申请实施例提供的步骤S108的细化图;
图7为本申请实施例提供的一种网页优化装置的模块组成示意图;
图8为本申请实施例提供的一种网页优化设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
本申请实施例提供了一种网页优化方法及装置,通过创建HTML网页的CSS样式的语义分析器,并基于HTML网页的原始CSS文件生成对象关系模型,从而根据该语义分析器和对象关系模型,确定CSS选择器的优化信息,并根据该优化信息对HTML网页的HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,实现了网页代码的压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
图1为本申请实施例提供的一种网页优化方法的应用场景示意图,如图1所示,待优化的HTML网页通常关联有至少一个HTML模板文件和至少一个原始CSS文件,其中,HTML模板文件中包括网页设计代码,该网页设计代码中定义了HTML网页所包括的HTML元素的属性,该属性中包括HTML元素所关联的CSS样式,如CSS选择器等;该HTML元素所关联的CSS样式即HTML网页的CSS样式。原始CSS文件中包括CSS代码,用于对HTML元素所关联的CSS样式进行具体声明,包括CSS选择器和CSS选择器的属性信息,其中,CSS选择器用于选择HTML网页所包括的HTML元素,CSS选择器的属性信息用于描述CSS选择器所选择的HTML元素的具体样式信息,如线条粗细、边框颜色、透明度等。根据HTML模板文件,创建HTML网页的CSS样式的语法分析器,其中,语法分析器用于统计CSS样式的样式信息,如CSS选择器的原始名称等;以及,根据原始CSS文件,生成对象关系模型;根据语法分析器和对象关系模型,确定HTML网页的CSS样式中的CSS选择器和原始CSS文件中的CSS选择器的优化信息;并根据优化信息对HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,不仅实现了网页代码的压缩,提升了网页加载速度;而且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
基于上述应用场景架构,本申请实施例提供了一种网页优化方法,图2为本申请实施例提供的一种网页优化方法的流程示意图,如图2所示,该方法包括以下步骤:
步骤S102,根据待优化的HTML网页的HTML模板文件,创建HTML网页的CSS样式的语法分析器,其中,语法分析器用于统计CSS样式的样式信息;
在实际应用中,HTML模板文件中的网页设计代码定义了HTML网页中HTML元素所关联的CSS样式,即HTML网页实际应用到的有效CSS样式,对应的,语法分析器中统计了该有效CSS样式的样式信息,如CSS选择器的原始名称等。
步骤S104,根据HTML网页的原始CSS文件,生成对象关系模型;
在实际应用中,原始CSS文件中所声明的CSS样式通常为网页开发过程中,开发人员基于预期的网页效果所定义,因此原始CSS文件中所包括的CSS样式可能存在HTML网页实际没有应用到的CSS样式,即无效CSS样式,该无效CSS样式无疑增加了原始CSS文件的代码体积;进一步的,由于对象关系模型是基于原始CSS文件所生成,因此对象关系模型中既包括有效CSS样式还包括无效CSS样式。
需要指出的是,步骤S102和步骤S104的执行顺序可以彼此互换,还可以同时执行。
步骤S106,根据语法分析器和对象关系模型,确定CSS样式中的CSS选择器和原始CSS文件中的CSS选择器的优化信息;
通常的,CSS样式包括语义化的CSS选择器和CSS选择器的属性信息,其中,CSS选择器的属性信息通常不可随意改动,而语义化的CSS选择器的名称则可以适当合理的压缩;因此,本申请实施例中,根据语法分析器和对象关系模型,确定各CSS选择器的压缩名称,以及确定原始CSS文件中的无效CSS选择器,并将确定的压缩名称和无效CSS选择器作为优化信息,以在后续根据该优化信息对HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。其中,压缩名称和无效CSS选择器的具体确定过程在后文中进行详述。
步骤S108,根据优化信息对HTML模板文件和原始CSS文件进行优化处理。
具体的,根据优化信息包括的压缩名称和无效CSS选择器对HTML模板文件中的CSS选择器和原始CSS文件中的CSS选择器进行优化处理。
本申请实施例中,在不影响HTML网页正常显示的基础上,基于确定的CSS选择器的优化信息对HTML模板文件和原始CSS文件进行优化处理,不仅实现了网页代码的压缩,减小了代码体积,提升了网页加载速度;而且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
为了对HTML模板文件进行优化,并确定HTLM网页的原始CSS文件所包括的无效CSS选择器,本申请一个或多个实施例中,基于HTML模板文件中的代码创建语法分析器;具体的,如图3所示,步骤S102中根据待优化的HTML网页的HTML模板文件,创建HTML网页的CSS样式的语法分析器,包括:
步骤S102-2,初始化优化的HTML网页所对应的容器;
步骤S102-4,解析HTML网页的HTML模板文件,得到HTML网页的CSS样式的样式信息;
具体的,解析HTML网页的HTML模板文件,得到HTML网页的各个HTML元素的属性信息,如HTML元素的class、id等属性信息,并根据该属性信息确定关联的CSS样式的样式信息,如CSS选择器的原始名称、CSS样式之间的互斥信息(例如某个HTML元素关联了两个CSS样式,但是只能有一个CSS样式应用到该HTML元素)等。
步骤S102-6,按照预设格式将样式信息保存至容器中,并将容器确定为HTML网页的CSS样式的语法分析器。
考虑到原生的HTML语法特点,为了便于分析,本申请实施例中的预设格式优选为键值对格式,以表示HTML元素的属性与CSS选择器的关联关系;其中,HTML元素的属性作为键值对中的“键”,该属性关联的CSS选择器作为键值对中的“值”。需要指出的是,由于HTML元素可以嵌套的包括其它HTML元素,因此,语法分析器中还可以包括体现该嵌套关系的字段,如采用“children”表示该嵌套关系。
作为示例,HTML网页的HTML模板文件中包括如下代码段1和代码段2:
代码段1:
<p><button class=“button-submit”></button><button id=“button”></button></p>
代码段2:
<button class=“button-cancel”></button>
解析上述代码段1可得对应的HTML元素的属性信息包括:其是一个p标签,该p标签有两个元素,分别为class类名为button-submit的button标签、id为button的button标签;根据该属性信息可以确定class属性关联原始名称为button-submit的CSS选择器,属性id关联原始名称为button的CSS选择器。
解析代码段2可得对应的HTML元素的属性信息包括:其是一个class类名为button-cancel的button标签;根据该属性信息可以确定class属性关联原始名称为button-cancel的CSS选择器。
根据上述分析结果,创建的语法分析器示例如下:
{tagName:‘p’,children:[{tagName:‘button’,class:‘button-submit’},{tagName:‘button’,id:‘button’}]};
{tagName:‘button’,class:‘button-cancel’}。
需要指出的是,通常的HTML网页还包括JavaScript代码,其用于定义HTML网页的交互方式,JSX是一种JavaScript的语法扩展,与原生的HTML语法极为相似,且可以通过JavaScript将JSX模板文件中的代码插入到HTML模板文件中,因此,本申请实施例中还可以基于JSX模板文件创建语法分析器。
通过生成语法分析器,以在后续与对象关系模型共同确定HTML网页的CSS样式中的CSS选择器以及原始CSS文件中的CSS选择器的优化信息,并基于该语法分析器对HTML模板文件进行优化处理。
为了对HTML网页的原始CSS文件进行优化,并确定CSS文件中的无效CSS选择器,本申请一个或多个实施例中,根据HTML网页对应的每个原始CSS文件生成语法树形式的对象关系模型,具体的,如图4所示,步骤S104包括:
步骤S104-2,从每个原始CSS文件中获取CSS样式并作为样式节点;
步骤S104-4,根据获取的样式节点,生成对应的原始CSS文件的子对象关系模型;
步骤S104-6,根据各个原始CSS文件之间的依赖关系和对应的各个子对象关系模型,生成对象关系模型。
考虑到HTML元素在HTML网页中的呈现方式是一个DOM树,因此,为了便于分析,根据各个CSS文件中的CSS样式生成CSS语法树,并将该CSS语法树作为对象关系模型。具体而言,从每个原始CSS文件包括的CSS代码中,获取声明的CSS样式,将CSS样式中的CSS选择器和CSS选择器的属性信息,转换为键值对形式的字段并作为样式节点,其中,CSS选择器作为键值对中的“键”,CSS选择器的属性信息作为键值对中的“值”;根据每个原始CSS文件中的样式节点之间的关系,确定第一根样式节点和第一子样式节点,根据第一根样式节点和第一子样式节点生成相应原始CSS文件所对应的子对象关系模块,其中,第一根样式节点和第一子样式节点中包括至少一个CSS样式;以及,根据各个原始CSS文件之间的依赖关系,从对应的各个子对象关系模型中,获取目标子对象关系模型,将目标子对象关系模型的第一根样式节点作为对象关系模块的第二根样式节点,将目标子对象关系模型的第一子样式节点以及其他子对象关系模型所包括的样式节点均作为对象关系模块的第二子样式节点,并根据各个原始CSS文件之间的依赖关系,基于各个子对象关系模型生成对象关系模型。需要指出的是,当HTML网页仅有一个CSS原始文件时,生成的对应的子对象关系模型即为最终的对象关系模型。
作为示例,HTML网页仅有一个CSS原始文件,该CSS原始文件中包括如下代码:
根模块:.button-unused{opacity:0;}#button{opacity:0;}
子模块1:.button-submit{opacity:0;}
子模块2:.button-cancel{opacity:0;}
从该代码中获取到的CSS样式包括原始名称为.button-unused的CSS选择器,该CSS选择器的属性信息为opacity:0;原始名称为#button的CSS选择器,该CSS选择器的属性信息为opacity:0;原始名称为.button-submit的CSS选择器,该CSS选择器的属性信息为opacity:0;原始名称为.button-cancel的CSS选择器,该CSS选择器的属性信息为opacity:0;对应的,确定的第一根样式节点(也是第二根样式节点)为:{‘.button-unused’:‘opacity:0;’,‘#button’:‘opacity:0;’};第一子样式节点(也是第二子样式节点)包括:{‘.button-submit’:‘opacity:0;’}和{‘.button-cancel’:‘opacity:0;’};生成的对象关系模型为:
{‘.button-unused’:‘opacity:0;’,‘#button’:‘opacity:0;’,children:[{‘.button-submit’:‘opacity:0;’},{‘.button-cancel’:‘opacity:0;’}]}。
通过生成对象关系模型,以在后续与语法分析器共同确定HTML网页的CSS样式中的CSS选择器以及原始CSS文件中的CSS选择器的优化信息,并基于该对象关系模型对原始CSS文件进行优化处理。
考虑到原始CSS文件中可能存在HTML网页没有用到的CSS样式,且各个CSS样式包括的语义化的CSS选择器的原始名称进行合理压缩后,并不影响HTML网页的正常显示,基于此,本申请一个或多个实施例中,根据语法分析器和对象关系模型,确定各CSS选择器的压缩名称,以及确定原始CSS文件中的无效CSS选择器;具体而言,如图5所示,步骤S106包括:
步骤S106-2,遍历对象关系模型中的每个样式节点,得到对应的CSS选择器的原始名称;
具体的,遍历对象关系模型中的每个样式节点所包括的键值对形式的字段,得到对应的CSS选择器的原始名称。
例如,遍历上述示例的对象关系模型,得到的CSS选择器的原始名称包括:.button-unused、#button、.button-submit、.button-cancel。
步骤S106-4,对得到的原始名称进行压缩处理,得到压缩名称;
为了便于对CSS选择器的压缩名称进行管理,本申请一个或多个实施例中,创建名称管理器,并通过该名称管理器对CSS选择器的原始名称进行压缩处理,具体的,步骤S106-4包括:
步骤S106-4-2,将对象关系模型划分为至少一个子模型;
其中,子模型的划分方式可以在实际应用中根据需要自行设定,如可以根据对象关系模型的结构,按照样式节点的层次关系进行划分,将每个“children”作为一层,划分为一个子模型;以前述示例的对象关系模型为例,划分的子模型包括:
子模型1:‘.button-unused’:‘opacity:0;’,‘#button’:‘opacity:0;’
子模型2:{‘.button-submit’:‘opacity:0;’},{‘.button-cancel’:‘opacity:0;’}
步骤S106-4-4,创建每个子模型所对应的名称管理器;
为便于描述,将创建的子模型1的名称管理器记为名称管理器1,将创建的子模型2的名称管理器记为名称管理器2。
步骤S106-4-6,将得到的原始名称发送给对应的名称管理器,以使名称管理器根据预设压缩规则,对原始名称进行压缩得到压缩名称;
其中,预设压缩规则可以在实际应用中根据需要自行设定,如将原始名称压缩为字母a-z、字母A-Z、数字0-9以及连词符“-”下划线“_”等特殊字符的任意组合,且不能以数字、连词符后直接跟数字为开头。
进一步的,名称管理器中存有压缩记录,该压缩记录包括历史压缩名称,由此,在名称管理器接收的待压缩的原始名称时,可以确保对待压缩的原始名称进行压缩所得的压缩名称与历史压缩名称均不同。
作为示例,将上述得到的原始名称.button-unused和#button发送给名称管理器1,并将原始名称.button-submit和.button-cancel发送给名称管理器2;名称管理器1对.button-unused进行压缩得到的压缩名称为.a,对#button进行压缩得到的压缩名称为#b;名称管理器2对.button-submit进行压缩得到的压缩名称为.c,将对.button-cancel进行压缩得到的压缩名称为.d。
步骤S106-4-8,接收名称管理器返回的压缩名称。
例如,接收名称管理器1返回的压缩名称.a和#b,接收名称管理器2返回的压缩名称.c和.d。
步骤S106-6,将原始名称和压缩名称建立映射关系;
具体的,将原始名称和压缩名称建立映射关系,得到映射表;其中,映射表示例如下:
{‘.button-unused’:‘.a’,‘#button’:‘#b’,‘.button-submit’:‘.c’,‘.button-cancel’:‘.d’};由其中的‘#button’:‘#b’可知,button被压缩为b。
步骤S106-8,若确定语法分析器中未含有得到的原始名称所对应的CSS选择器,则将得到的原始名称所对应的CSS选择器确定为无效CSS选择器;
具体的,将得到的原始名称与语法分析器中包括的CSS选择器的原始名称进行匹配,若匹配成功,则确定语法分析器中含有得到的原始名称所对应的CSS选择器,即得到的原始名称所对应的CSS选择器为有效CSS选择器;若匹配失败,则确定语法分析器中未含有得到的原始名称所对应的CSS选择器,即得到的原始名称所对应的CSS选择器为无效CSS选择器。
作为示例,将得到的原始名称.button-unused与语法分析器所包括的CSS选择器的原始名称进行匹配,且匹配失败,则确定原始名称.button-unused所对应CSS选择器为无效选择器;将的到的原始名称.button-submit与语法分析器所包括的CSS选择器的原始名称进行匹配,且匹配成功,则确定原始名称.button-submit所对应的CSS选择器为有效CSS选择器。
步骤S106-10,将映射关系和无效CSS选择器,确定为CSS样式中的CSS选择器和原始CSS文件中的CSS选择器的优化信息。
应当理解的是,当步骤S106-8中确定语法分析器中含有得到的原始名称所对应的CSS选择器,即不存在无效CSS选择器时,则将建立的映射关系确定为CSS样式中的CSS选择器和原始CSS文件中的CSS选择器的优化信息。
通过对CSS选择器的原始名称进行压缩得到压缩名称,并将压缩名称与原始名称建立映射关系,以及确定无效CSS选择器,得到优化信息,从而可以根据该优化信息对HTML模板文档和原始CSS文件中的CSS选择器进行优化处理。具体的,如图6所示,步骤S108包括:
步骤S108-2,根据优化信息,更新语法分析器和对象关系模型;
具体的,从语法分析器中获取优化信息中的映射关系所包括的原始名称,将获取的原始名称替换为映射关系所包括的对应的压缩名称;以及,从对象关系模型中获取优化信息中的映射关系所包括的原始名称,将获取的原始名称替换为映射关系所包括的对应的压缩名称,并在对象关系模型中标记优化信息包括的无效CSS选择器;
作为示例,根据优化信息对前述示例的语法分析器进行更新,得到的更新后的语法分析器为:
{tagName:‘p’,children:[{tagName:‘button’,class:‘c’},{tagName:‘button’,id:‘b’}]}
{tagName:‘button’,class:‘d’}
作为示例,根据优化信息对前述示例的对象关系模型进行更新,得到的更新后的对象关系模型为:
{‘.a’:null,‘#b’:‘opacity:0;’,children:[{‘.c’:‘opacity:0;’},{‘.d’:‘opacity:0;’}]}
其中,‘.a’:null表示压缩名称为.a的CSS语法分析器为无效CSS无法分析器。
步骤S108-4,根据更新后的语法分析器,对HTML模板文件进行优化处理;
根据前述示例的更新后的语法分析器可知,其包括CSS选择器的压缩名称与HTML网页中HTML元素的属性的对应关系;对应的,步骤S108-4包括:
步骤S108-4-2,从HTML模板文件中,查找与更新后的语法分析器所包括的HTML元素的属性相同的属性;
步骤S108-4-4,将查找到的属性在HTML模板文件中所关联的CSS选择器的原始名称替换为对应的压缩名称。
作为示例,对前述示例的HTML模板文件进行优化处理后,其代码如下:
代码块1:{tagName:‘p’,children:[{tagName:‘button’,class:‘c’},{tagName:‘button’,id:‘b’}]}
代码块2:{tagName:‘button’,class:‘d’}
可见,优化处理后的HTML模板文件相较于优化处理前的HTML模板文件,减少了代码量,压缩了代码体积;
步骤S108-6,根据更新后的对象关系模型,对原始CSS文件进行优化处理。
根据前述示例的更新后的对象关系模型可知,其包括CSS选择器的压缩名称与CSS选择器的属性信息的对应关系,以及标记的无效CSS选择器;对应的,步骤S108-6包括:
步骤S108-6-2,从更新后的对象关系模型中,获取有效的CSS选择器的压缩名称与属性信息的对应关系;
步骤S108-6-4,根据获取的对应关系生成新的CSS文件;
步骤S108-6-6,将新的CSS文件替换原始CSS文件。
作为示例,生成的新的CSS文件所包括的代码为:
根模块:#b{opacity:0;}
子模块1:.c{opacity:0;}
子模块2:.d{opacity:0};
可见,新的CSS文件相较于前述示例的原始CSS文件而言,其中的代码量极大的减少,缩小了代码体积,在网页部署过程中能够节约存储空间,在网页加载过程中能够提升网页的加载速度以及节约加载网页所需要的移动数据流量;并且,由于语义化的CSS选择器名称被压缩名称所替换,类似于对代码进行了加密,具有代码混淆效果,对于网络爬虫而言,增加了识别难度。
需要指出的是,步骤S108-4与步骤S108-6的执行顺序可以互换。
本申请实施例中,通过创建HTML网页的CSS样式的语义分析器,并基于HTML网页的原始CSS文件生成对象关系模型,从而根据该语义分析器和对象关系模型,确定CSS选择器的优化信息,并根据该优化信息对HTML网页的HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,实现了网页代码的压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
进一步的,对应上述图2至图6描述的网页优化方法,基于相同的技术构思,本申请实施例还提供一种网页优化装置。图7为本申请实施例提供的一种网页优化装置的模块组成示意图,该装置用于执行图2至图6描述的网页优化方法,如图7所示,该装置包括:
创建模块201,用于根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
生成模块202,用于根据所述HTML网页的原始CSS文件,生成对象关系模型;
确定模块203,用于根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
优化模块204,用于根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
本申请实施例中,在不影响HTML网页正常显示的基础上,基于确定的CSS选择器的优化信息对HTML模板文件和原始CSS文件进行优化处理,不仅实现了网页代码的压缩,减小了代码体积,提升了网页加载速度;而且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
可选地,所述创建模块201具体用于:
初始化所述待优化的HTML网页所对应的容器;
解析所述HTML网页的HTML模板文件,得到所述HTML网页的CSS样式的样式信息;
按照预设格式将所述样式信息保存至所述容器中,并将所述容器确定为所述HTML网页的CSS样式的语法分析器。
可选地,所述生成模块202具体用于:
从每个所述原始CSS文件中获取CSS样式并作为样式节点;
根据所述样式节点,生成对应的所述原始CSS文件的子对象关系模型;
根据各个所述原始CSS文件之间的依赖关系和对应的所述子对象关系模型,生成对象关系模型。
可选地,所述样式节点包括所述CSS选择器的原始名称,所述确定模块203具体用于:
遍历所述对象关系模型中的每个所述样式节点,得到对应的所述CSS选择器的原始名称;
对得到的所述原始名称进行压缩处理,得到压缩名称;
将所述原始名称和所述压缩名称建立映射关系;以及,
若确定所述语法分析器中未含有得到的所述原始名称所对应的CSS选择器,则将得到的所述原始名称所对应的CSS选择器确定为无效CSS选择器;
将所述映射关系和所述无效CSS选择器,确定为所述CSS样式和所述原始CSS文件中的CSS选择器的优化信息。
可选地,所述确定模块203进一步具体用于:
将所述对象关系模型划分为至少一个子模型;
创建每个所述子模型所对应的名称管理器;
将得到的所述原始名称发送给对应的所述名称管理器,以使所述名称管理器根据预设压缩规则,对所述原始名称进行压缩得到压缩名称;
接收所述名称管理器返回的所述压缩名称。
可选地,所述优化模块204具体用于:
根据所述优化信息,更新所述语法分析器和所述对象关系模型;
根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理;
根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理。
可选地,所述更新后的所述语法分析器包括:所述CSS选择器的压缩名称与所述HTML网页中HTML元素的属性的对应关系;
对应的,所述优化模块204进一步具体用于:
从所述HTML模板文件中,查找与更新后的所述语法分析器所包括的HTML元素的属性相同的属性;
将查找到的所述属性在所述HTML模板文件中所关联的CSS选择器的原始名称替换为对应的所述压缩名称。
可选地,所述更新后的所述对象关系模型包括:所述CSS选择器的压缩名称与所述CSS选择器的属性信息的对应关系;
对应的,所述优化模块204进一步具体用于:
从更新后的所述对象关系模型中,获取有效的CSS选择器的所述对应关系;
根据获取的所述对应关系生成新的CSS文件;
将所述新的CSS文件替换所述原始CSS文件。
本申请实施例所提供的网页优化装置,通过创建HTML网页的CSS样式的语义分析器,并基于HTML网页的原始CSS文件生成对象关系模型,从而根据该语义分析器和对象关系模型,确定CSS选择器的优化信息,并根据该优化信息对HTML网页的HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,实现了网页代码的压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
需要说明的是,本申请中关于网页优化装置的实施例与本申请中关于网页优化方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的网页优化方法的实施,重复之处不再赘述。
进一步的,对应上述网页优化方法,基于相同的技术构思,本申请实施例还提供一种网页优化设备,该设备用于执行上述的网页优化方法,图8为本申请实施例提供的网页优化设备的结构示意图。
如图8所示,网页优化设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器301和存储器302,存储器302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器302可以是短暂存储或持久存储。存储在存储器302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括网页优化设备中的一系列计算机可执行指令。更进一步地,处理器301可以设置为与存储器302通信,在网页优化设备上执行存储器302中的一系列计算机可执行指令。网页优化设备还可以包括一个或一个以上电源303,一个或一个以上有线或无线网络接口304,一个或一个以上输入输出接口305,一个或一个以上键盘306等。
在一个具体的实施例中,网页优化设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对网页优化设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
根据所述HTML网页的原始CSS文件,生成对象关系模型;
根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
本申请实施例中,在不影响HTML网页正常显示的基础上,基于确定的CSS选择器的优化信息对HTML模板文件和原始CSS文件进行优化处理,不仅实现了网页代码的压缩,减小了代码体积,提升了网页加载速度;而且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
可选地,计算机可执行指令在被执行时,所述根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,包括:
初始化所述待优化的HTML网页所对应的容器;
解析所述HTML网页的HTML模板文件,得到所述HTML网页的CSS样式的样式信息;
按照预设格式将所述样式信息保存至所述容器中,并将所述容器确定为所述HTML网页的CSS样式的语法分析器。
可选地,计算机可执行指令在被执行时,所述HTML网页对应至少一个原始CSS文件,所述根据所述HTML网页的原始CSS文件,生成对象关系模型,包括:
从每个所述原始CSS文件中获取CSS样式并作为样式节点;
根据所述样式节点,生成对应的所述原始CSS文件的子对象关系模型;
根据各个所述原始CSS文件之间的依赖关系和对应的所述子对象关系模型,生成对象关系模型。
可选地,计算机可执行指令在被执行时,所述样式节点包括所述CSS选择器的原始名称;所述根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息,包括:
遍历所述对象关系模型中的每个所述样式节点,得到对应的所述CSS选择器的原始名称;
对得到的所述原始名称进行压缩处理,得到压缩名称;
将所述原始名称和所述压缩名称建立映射关系;以及,
若确定所述语法分析器中未含有得到的所述原始名称所对应的CSS选择器,则将得到的所述原始名称所对应的CSS选择器确定为无效CSS选择器;
将所述映射关系和所述无效CSS选择器,确定为所述CSS样式和所述原始CSS文件中的CSS选择器的优化信息。
可选地,计算机可执行指令在被执行时,所述对得到的所述原始名称进行压缩处理,得到压缩名称,包括:
将所述对象关系模型划分为至少一个子模型;
创建每个所述子模型所对应的名称管理器;
将得到的所述原始名称发送给对应的所述名称管理器,以使所述名称管理器根据预设压缩规则,对所述原始名称进行压缩得到压缩名称;
接收所述名称管理器返回的所述压缩名称。
可选地,计算机可执行指令在被执行时,所述根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理,包括:
根据所述优化信息,更新所述语法分析器和所述对象关系模型;
根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理;
根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理。
可选地,计算机可执行指令在被执行时,所述更新后的所述语法分析器包括:所述CSS选择器的压缩名称与所述HTML网页中HTML元素的属性的对应关系;
所述根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理,包括:
从所述HTML模板文件中,查找与更新后的所述语法分析器所包括的HTML元素的属性相同的属性;
将查找到的所述属性在所述HTML模板文件中所关联的CSS选择器的原始名称替换为对应的所述压缩名称。
可选地,计算机可执行指令在被执行时,所述更新后的所述对象关系模型包括:所述CSS选择器的压缩名称与所述CSS选择器的属性信息的对应关系;
所述根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理,包括:
从更新后的所述对象关系模型中,获取有效的CSS选择器的所述对应关系;
根据获取的所述对应关系生成新的CSS文件;
将所述新的CSS文件替换所述原始CSS文件。
本申请实施例所提供的网页优化设备,通过创建HTML网页的CSS样式的语义分析器,并基于HTML网页的原始CSS文件生成对象关系模型,从而根据该语义分析器和对象关系模型,确定CSS选择器的优化信息,并根据该优化信息对HTML网页的HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,实现了网页代码的压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
需要说明的是,本申请中关于网页优化设备的实施例与本申请中关于网页优化方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的网页优化方法的实施,重复之处不再赘述。
进一步的,对应上述的网页优化方法,基于相同的技术构思,本申请一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一个具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
根据所述HTML网页的原始CSS文件,生成对象关系模型;
根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
本申请实施例中,在不影响HTML网页正常显示的基础上,基于确定的CSS选择器的优化信息对HTML模板文件和原始CSS文件进行优化处理,不仅实现了网页代码的压缩,减小了代码体积,提升了网页加载速度;而且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,包括:
初始化所述待优化的HTML网页所对应的容器;
解析所述HTML网页的HTML模板文件,得到所述HTML网页的CSS样式的样式信息;
按照预设格式将所述样式信息保存至所述容器中,并将所述容器确定为所述HTML网页的CSS样式的语法分析器。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述HTML网页对应至少一个原始CSS文件,所述根据所述HTML网页的原始CSS文件,生成对象关系模型,包括:
从每个所述原始CSS文件中获取CSS样式并作为样式节点;
根据所述样式节点,生成对应的所述原始CSS文件的子对象关系模型;
根据各个所述原始CSS文件之间的依赖关系和对应的所述子对象关系模型,生成对象关系模型。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述样式节点包括所述CSS选择器的原始名称;所述根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息,包括:
遍历所述对象关系模型中的每个所述样式节点,得到对应的所述CSS选择器的原始名称;
对得到的所述原始名称进行压缩处理,得到压缩名称;
将所述原始名称和所述压缩名称建立映射关系;以及,
若确定所述语法分析器中未含有得到的所述原始名称所对应的CSS选择器,则将得到的所述原始名称所对应的CSS选择器确定为无效CSS选择器;
将所述映射关系和所述无效CSS选择器,确定为所述CSS样式和所述原始CSS文件中的CSS选择器的优化信息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述对得到的所述原始名称进行压缩处理,得到压缩名称,包括:
将所述对象关系模型划分为至少一个子模型;
创建每个所述子模型所对应的名称管理器;
将得到的所述原始名称发送给对应的所述名称管理器,以使所述名称管理器根据预设压缩规则,对所述原始名称进行压缩得到压缩名称;
接收所述名称管理器返回的所述压缩名称。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理,包括:
根据所述优化信息,更新所述语法分析器和所述对象关系模型;
根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理;
根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述更新后的所述语法分析器包括:所述CSS选择器的压缩名称与所述HTML网页中HTML元素的属性的对应关系;
所述根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理,包括:
从所述HTML模板文件中,查找与更新后的所述语法分析器所包括的HTML元素的属性相同的属性;
将查找到的所述属性在所述HTML模板文件中所关联的CSS选择器的原始名称替换为对应的所述压缩名称。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述更新后的所述对象关系模型包括:所述CSS选择器的压缩名称与所述CSS选择器的属性信息的对应关系;
所述根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理,包括:
从更新后的所述对象关系模型中,获取有效的CSS选择器的所述对应关系;
根据获取的所述对应关系生成新的CSS文件;
将所述新的CSS文件替换所述原始CSS文件。
本申请实施例提供的存储介质所存储的计算机可执行指令在被处理器执行时,通过创建HTML网页的CSS样式的语义分析器,并基于HTML网页的原始CSS文件生成对象关系模型,从而根据该语义分析器和对象关系模型,确定CSS选择器的优化信息,并根据该优化信息对HTML网页的HTML模板文件和原始CSS文件进行优化处理,以减小代码体积。由此,在不影响HTML网页正常显示的基础上,实现了网页代码的压缩,提升了网页加载速度;并且压缩后的网页代码对于爬虫而言起到了混淆作用,增加了爬虫对网页内容的抓取难度,增强了网页的安全性。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,本申请中关于存储介质的实施例与本申请中关于网页优化方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的网页优化方法的实施,重复之处不再赘述。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种网页优化方法,其特征在于,包括:
根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
根据所述HTML网页的原始CSS文件,生成对象关系模型;
根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
2.根据权利要求1所述的方法,其特征在于,所述根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,包括:
初始化所述待优化的HTML网页所对应的容器;
解析所述HTML网页的HTML模板文件,得到所述HTML网页的CSS样式的样式信息;
按照预设格式将所述样式信息保存至所述容器中,并将所述容器确定为所述HTML网页的CSS样式的语法分析器。
3.根据权利要求1所述的方法,其特征在于,所述HTML网页对应至少一个原始CSS文件,所述根据所述HTML网页的原始CSS文件,生成对象关系模型,包括:
从每个所述原始CSS文件中获取CSS样式并作为样式节点;
根据所述样式节点,生成对应的所述原始CSS文件的子对象关系模型;
根据各个所述原始CSS文件之间的依赖关系和对应的所述子对象关系模型,生成对象关系模型。
4.根据权利求3所述的方法,其特征在于,所述样式节点包括所述CSS选择器的原始名称;所述根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息,包括:
遍历所述对象关系模型中的每个所述样式节点,得到对应的所述CSS选择器的原始名称;
对得到的所述原始名称进行压缩处理,得到压缩名称;
将所述原始名称和所述压缩名称建立映射关系;以及,
若确定所述语法分析器中未含有得到的所述原始名称所对应的CSS选择器,则将得到的所述原始名称所对应的CSS选择器确定为无效CSS选择器;
将所述映射关系和所述无效CSS选择器,确定为所述CSS样式和所述原始CSS文件中的CSS选择器的优化信息。
5.根据权利求4所述的方法,其特征在于,所述对得到的所述原始名称进行压缩处理,得到压缩名称,包括:
将所述对象关系模型划分为至少一个子模型;
创建每个所述子模型所对应的名称管理器;
将得到的所述原始名称发送给对应的所述名称管理器,以使所述名称管理器根据预设压缩规则,对所述原始名称进行压缩得到压缩名称;
接收所述名称管理器返回的所述压缩名称。
6.根据权利要求4所述的方法,其特征在于,所述根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理,包括:
根据所述优化信息,更新所述语法分析器和所述对象关系模型;
根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理;
根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理。
7.根据权利要求6所述的方法,其特征在于,所述更新后的所述语法分析器包括:所述CSS选择器的压缩名称与所述HTML网页中HTML元素的属性的对应关系;
所述根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理,包括:
从所述HTML模板文件中,查找与更新后的所述语法分析器所包括的HTML元素的属性相同的属性;
将查找到的所述属性在所述HTML模板文件中所关联的CSS选择器的原始名称替换为对应的所述压缩名称。
8.根据权利求6所述的方法,其特征在于,所述更新后的所述对象关系模型包括:所述CSS选择器的压缩名称与所述CSS选择器的属性信息的对应关系;
所述根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理,包括:
从更新后的所述对象关系模型中,获取有效的CSS选择器的所述对应关系;
根据获取的所述对应关系生成新的CSS文件;
将所述新的CSS文件替换所述原始CSS文件。
9.一种网页优化装置,其特征在于,包括:
创建模块,用于根据待优化的HTML网页的HTML模板文件,创建所述HTML网页的CSS样式的语法分析器,其中,所述语法分析器用于统计所述CSS样式的样式信息;
生成模块,用于根据所述HTML网页的原始CSS文件,生成对象关系模型;
确定模块,用于根据所述语法分析器和所述对象关系模型,确定所述CSS样式中的CSS选择器和所述原始CSS文件中的CSS选择器的优化信息;
优化模块,用于根据所述优化信息对所述HTML模板文件和所述原始CSS文件进行优化处理。
10.根据权利求9所述的方法,其特征在于,所述对象关系模块包括至少一个样式节点,所述样式节点包括所述CSS选择器的原始名称,所述确定模块具体用于:
遍历所述对象关系模型中的每个所述样式节点,得到对应的所述CSS选择器的原始名称;
对得到的所述原始名称进行压缩处理,得到压缩名称;
将所述原始名称和所述压缩名称建立映射关系;以及,
若确定所述语法分析器中未含有得到的所述原始名称所对应的CSS选择器,则将得到的所述原始名称所对应的CSS选择器确定为无效CSS选择器;
将所述映射关系和所述无效CSS选择器,确定为所述CSS样式和所述原始CSS文件中的CSS选择器的优化信息。
11.根据权利要求9或10所述的装置,其特征在于,所述优化模块具体用于:
根据所述优化信息,更新所述语法分析器和所述对象关系模型;
根据更新后的所述语法分析器,对所述HTML模板文件进行优化处理;
根据更新后的所述对象关系模型,对所述原始CSS文件进行优化处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029123.7A CN110688118B (zh) | 2019-10-28 | 2019-10-28 | 一种网页优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029123.7A CN110688118B (zh) | 2019-10-28 | 2019-10-28 | 一种网页优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688118A true CN110688118A (zh) | 2020-01-14 |
CN110688118B CN110688118B (zh) | 2023-05-05 |
Family
ID=69114229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911029123.7A Active CN110688118B (zh) | 2019-10-28 | 2019-10-28 | 一种网页优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688118B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389764A (zh) * | 2019-06-19 | 2019-10-29 | 平安普惠企业管理有限公司 | 无用代码清理方法、设备、存储介质及装置 |
CN112801398A (zh) * | 2021-02-07 | 2021-05-14 | 三一重工股份有限公司 | 冷却装置故障预测方法、装置、电子设备及存储介质 |
CN113254749A (zh) * | 2021-06-10 | 2021-08-13 | 山东浪潮通软信息科技有限公司 | 一种基于http协议的数据爬取方法及装置 |
WO2021197273A1 (zh) * | 2020-04-03 | 2021-10-07 | 深圳前海微众银行股份有限公司 | 冗余代码去除方法、装置、设备与计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500118A (zh) * | 2013-10-24 | 2014-01-08 | 北京奇虎科技有限公司 | 一种级联样式表优化方法和装置 |
CN104978341A (zh) * | 2014-04-08 | 2015-10-14 | 北京奇虎科技有限公司 | 一种文件处理方法、设备和网络系统 |
CN105577719A (zh) * | 2014-10-15 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种数据压缩方法和装置 |
CN106293785A (zh) * | 2015-05-21 | 2017-01-04 | 富士通株式会社 | 对级联样式表的规则集进行优化的方法和装置 |
CN106919624A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 提高网页加载速度的方法及装置 |
CN109558549A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种消除css样式冗余的方法及相关产品 |
CN109558138A (zh) * | 2018-11-20 | 2019-04-02 | 北京小米移动软件有限公司 | 后代选择器处理方法及装置 |
CN109725965A (zh) * | 2018-12-13 | 2019-05-07 | 平安普惠企业管理有限公司 | 层叠样式表维护方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-28 CN CN201911029123.7A patent/CN110688118B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500118A (zh) * | 2013-10-24 | 2014-01-08 | 北京奇虎科技有限公司 | 一种级联样式表优化方法和装置 |
CN104978341A (zh) * | 2014-04-08 | 2015-10-14 | 北京奇虎科技有限公司 | 一种文件处理方法、设备和网络系统 |
CN105577719A (zh) * | 2014-10-15 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种数据压缩方法和装置 |
CN106293785A (zh) * | 2015-05-21 | 2017-01-04 | 富士通株式会社 | 对级联样式表的规则集进行优化的方法和装置 |
CN106919624A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 提高网页加载速度的方法及装置 |
CN109558549A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种消除css样式冗余的方法及相关产品 |
CN109558138A (zh) * | 2018-11-20 | 2019-04-02 | 北京小米移动软件有限公司 | 后代选择器处理方法及装置 |
CN109725965A (zh) * | 2018-12-13 | 2019-05-07 | 平安普惠企业管理有限公司 | 层叠样式表维护方法、装置、计算机设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389764A (zh) * | 2019-06-19 | 2019-10-29 | 平安普惠企业管理有限公司 | 无用代码清理方法、设备、存储介质及装置 |
WO2021197273A1 (zh) * | 2020-04-03 | 2021-10-07 | 深圳前海微众银行股份有限公司 | 冗余代码去除方法、装置、设备与计算机可读存储介质 |
CN112801398A (zh) * | 2021-02-07 | 2021-05-14 | 三一重工股份有限公司 | 冷却装置故障预测方法、装置、电子设备及存储介质 |
CN112801398B (zh) * | 2021-02-07 | 2024-04-30 | 盛景智能科技(嘉兴)有限公司 | 冷却装置故障预测方法、装置、电子设备及存储介质 |
CN113254749A (zh) * | 2021-06-10 | 2021-08-13 | 山东浪潮通软信息科技有限公司 | 一种基于http协议的数据爬取方法及装置 |
CN113254749B (zh) * | 2021-06-10 | 2022-08-23 | 浪潮通用软件有限公司 | 一种基于http协议的数据爬取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110688118B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688118A (zh) | 一种网页优化方法及装置 | |
US20130159839A1 (en) | Semantic compression of cascading style sheets | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
CN113377373A (zh) | 基于解析引擎的页面加载方法、装置、计算机设备及介质 | |
US20190079649A1 (en) | Ui rendering based on adaptive label text infrastructure | |
CN114035827A (zh) | 应用程序更新方法、装置、设备及存储介质 | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN111580830B (zh) | 超文本标记语言文档元素的绑定及解析方法 | |
US20120124462A1 (en) | Web Application Optimization | |
US9898467B1 (en) | System for data normalization | |
CN114385148A (zh) | 一种实现联动功能的方法、装置、设备和存储介质 | |
CN114398138A (zh) | 界面生成方法、装置、计算机设备和存储介质 | |
CN116483850A (zh) | 数据处理方法、装置、设备以及介质 | |
US20240061993A1 (en) | Multi-component abstract association and fusion method and apparatus in page design | |
Liu et al. | An XML-enabled data extraction toolkit for web sources | |
CN111061975B (zh) | 一种页面中无关内容的处理方法、装置 | |
CN115328353B (zh) | 一种生成iconfont资源的方法、装置以及介质 | |
CN115437930B (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
KR20120070713A (ko) | 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
CN115905759A (zh) | 一种无障碍网页生成方法、装置、介质和设备 | |
CN113139145B (zh) | 页面生成方法、装置、电子设备及可读存储介质 | |
CN114296726A (zh) | 一种代码生成方法、装置、计算机设备和存储介质 | |
CN110928540A (zh) | 一种页面生成方法及装置 | |
CN111563363B (zh) | 一种超文本标记语言文档内容生成及解析方法 |
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 |