CN114611039B - 异步加载规则的解析方法、装置、存储介质和电子设备 - Google Patents
异步加载规则的解析方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN114611039B CN114611039B CN202210177370.7A CN202210177370A CN114611039B CN 114611039 B CN114611039 B CN 114611039B CN 202210177370 A CN202210177370 A CN 202210177370A CN 114611039 B CN114611039 B CN 114611039B
- Authority
- CN
- China
- Prior art keywords
- target interface
- asynchronous loading
- data
- response data
- node
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000009877 rendering Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009193 crawling Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000005266 casting Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/951—Indexing; Web crawling techniques
-
- 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
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 Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种异步加载规则的解析方法和装置,以及存储介质和电子设备,其方法包括:发送网页数据异步加载请求;获取服务端针对网页数据异步加载请求返回的响应数据,并基于响应数据对页面中的目标界面进行渲染以生成新的目标界面;从新生成的目标界面中提取对应的解析字段;以及基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种异步加载规则的解析方法、装置、存储介质、电子设备和计算机程序产品。
背景技术
在实际业务场景中,对于异步加载的数据,需要人工确定各网页的数据爬取规则来获取。在进行大规模爬虫的时候,针对需要异步加载的每一个维度的数据源来说,可能来自于上万个网站站点,这种情况下,通过人工方式确定各网页的数据爬取规则,势必导致无法高效地获取异步加载的数据。
发明内容
基于此,有必要针对现有的异步加载数据需要进行人工解析其数据加载规则(异步数据加载规则就是爬虫的数据爬取规则)且人工解析过程效率低的问题,提供一种异步加载规则的解析方法、装置、存储介质、电子设备和计算机程序产品。
第一方面,本公开实施例提供了一种异步加载规则的解析方法,所述方法包括:
发送网页数据异步加载请求;
获取服务端针对所述网页数据异步加载请求返回的响应数据,并基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面;
从新生成的目标界面中提取对应的解析字段;以及
基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则。
在一种实施方式中,发送网页数据异步加载请求,包括:
获取通过拦截器拦截的客户端发送给所述服务端的网页数据异步加载请求;以及
对拦截到的网页数据异步加载请求进行模拟发送,以向所述服务端发起网页数据异步加载请求。
在一种实施方式中,通过以下操作确定所述新的目标界面,包括:
在所述基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面之前,获取所述页面的网页源码;
在所述基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面之后,再次获取所述页面的网页源码;以及
通过比较两次获取的所述页面的网页源码以确定所述新的目标界面。
在一种实施方式中,从新生成的目标界面中提取对应的解析字段,包括:
将所述新生成的目标界面划分为至少一个行块;
从所述至少一个行块中的任一行块中,提取对应的数据指纹;
将所述数据指纹拆解为至少一个解析字段。
在一种实施方式中,从新生成的目标界面中提取对应的解析字段,包括:
将所述新生成的目标界面划分为至少一个行块;
针对所述至少一个行块中的每个行块,提取一个对应的数据指纹,并将每个数据指纹拆解为对应的至少一个解析字段。
在一种实施方式中,基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则,包括:
通过预设递归方式对所述响应数据的源码进行搜索,以确定所述至少一个解析字段中每个解析字段所在的叶子节点,从而获得对应的至少一个叶子节点;
继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点的公共父节点;
通过所述公共父节点确定当前行块对应的数据组;
基于所述当前行块对应的数据组,确定所述当前行块的异步加载规则;以及
基于所述当前行块的异步加载规则,推演所述新生成的目标界面的异步加载规则。
在一种实施方式中,继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点的公共父节点,包括:
继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点中各个叶子节点的父节点;以及
在所述各个叶子节点的父节点为相同节点的情况下,将所述相同节点作为所述至少一个叶子节点的公共父节点。
在一种实施方式中,还包括:
在所述各个叶子节点的父节点为不同节点的情况下,将所述各个叶子节点的父节点中到根节点路径最短一个父节点确定为所述至少一个叶子节点的公共父节点。
在一种实施方式中,在所述响应数据为JSON数据的情况下执行以下操作:
从新生成的目标界面中提取对应的解析字段;以及
基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则。
在一种实施方式中,基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则,包括:
基于所述至少一个行块中任一行块提取的至少一个解析字段,对所述响应数据的源码进行解析,以获得该任一行块的一个异步加载规则;
基于所述至少一个行块中的另一任意行块提取的至少一个解析字段,对所述响应数据的源码进行解析,以获得该另一任意行块的一个异步加载规则;以及
在两个异步加载规则一致的情况下,将该任一行块的异步加载规则所述新生成的目标界面的异步加载规则。
在一种实施方式中,发送网页数据异步加载请求,包括:
基于自动翻页规则,自动触发对应的翻页控件以发送网页数据异步加载请求。
第二方面,本公开实施例提供了一种异步加载规则的解析装置,所述装置包括:
发送单元,用于发送网页数据异步加载请求;
获取及渲染单元,用于获取服务端针对所述网页数据异步加载请求返回的响应数据,并基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面;
提取单元,用于从新生成的目标界面中提取对应的解析字段;以及
解析单元,用于基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则。
第三方面,本公开实施例提供一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述的方法步骤。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述的方法步骤。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的方法步骤。
在本公开实施例中,发送网页数据异步加载请求;获取服务端针对网页数据异步加载请求返回的响应数据,并基于响应数据对页面中的目标界面进行渲染以生成新的目标界面;从新生成的目标界面中提取对应的解析字段;以及基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。本公开实施例提供的解析方法,能够基于提取的解析字段,自动对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则;这样,能够做到自动解析,整个解析过程无需人工参与,从而大大地提高了异步加载规则的解析效率;此外,由于整个过程是自动解析,避免可能的人为解析错误,从而可以有效地提高异步加载规则的解析精准度。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1为根据本申请一示例性实施例提供的异步加载规则的解析方法的流程图;
图2为根据本申请一示例性实施例提供的具体应用场景下解析方法中涉及到的从目标界面中提取对应的解析字段的示意图;
图3为根据本申请一示例性实施例提供的具体应用场景下与提取解析字段过程对应的一代码示意图;
图4为根据本申请一示例性实施例提供的具体应用场景下与提取解析字段过程对应的另一代码示意图;
图5为根据本申请一示例性实施例提供的异步加载规则的解析装置200的结构示意图;
图6示出了本申请一示例性实施例提供的一种电子设备的示意图;
图7示出了本申请一示例性实施例提供的一种计算机可读介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参考图1,其示出了本申请的一些实施方式所提供的一种异步加载规则的解析方法的流程图,如图1所示,异步加载规则的解析方法可以包括以下步骤:
步骤S101:发送网页数据异步加载请求。
在一种可能的实现方式中,发送网页数据异步加载请求,包括以下步骤:
获取通过拦截器拦截的客户端发送给服务端的网页数据异步加载请求;以及
对拦截到的网页数据异步加载请求进行模拟发送,以向服务端发起网页数据异步加载请求。
应该理解,本实施例中,拦截器可以设置在客户端上,用于拦截客户端发送给服务端的网页数据异步加载请求,并将其转发给服务端,同时在本地保存拦截到网页数据异步加载请求,并且,拦截器还用于拦截服务器针对前述请求返回的响应,并转发给客户端,同时与前述请求关联存储在本地。
步骤S102:获取服务端针对网页数据异步加载请求返回的响应数据,并基于响应数据对页面中的目标界面进行渲染以生成新的目标界面。
在一种可能的实现方式中,通过以下操作确定新的目标界面,包括以下步骤:
在基于响应数据对页面中的目标界面进行渲染以生成新的目标界面之前,获取页面的网页源码;
在基于响应数据对页面中的目标界面进行渲染以生成新的目标界面之后,再次获取页面的网页源码;以及
通过比较两次获取的页面的网页源码以确定新的目标界面。
步骤S103:从新生成的目标界面中提取对应的解析字段。
在一种可能的实现方式中,从新生成的目标界面中提取对应的解析字段,包括以下步骤:
将新生成的目标界面划分为至少一个行块;
从至少一个行块中的任一行块中,提取对应的数据指纹;
将数据指纹拆解为至少一个解析字段。
如图2所示,为根据本申请一示例性实施例提供的具体应用场景下解析方法中涉及到的从目标界面中提取对应的解析字段的示意图。
如图2所示,将新生成的如图2所示的目标界面划分为至少一个行块。如图2所示,将目标界面划分为多个行块。
具体地,从第一行块中的三个行块,依次提取对应的数据指纹,并将各个数据指纹依次拆解为如下解析字段,“区域A”、“标题A”和“2021-12-15”。
从第二行块中的三个行块,依次提取对应的数据指纹,并将各个数据指纹依次拆解为如下解析字段,“区域A”、“标题B”和“2021-12-15”。
在本公开实施例提供的解析方法中,数据指纹具有特定标识的特征包括以下至少一项:位置特征、标题特征、发布时间特征、作者特征和跳转地址链接特征。
除了上述常见的数据指纹具有特定标识的特征之外,还可以根据不同应用场景的需求,引入其它的数据指纹具有特定标识的特征,在此不再赘述。
通过上述步骤,在将新生成的目标界面划分所得的行块较多,对应的数据指纹拆解得到的解析字段较多的情况下,能够有效地提高解析效率。
在一种可能的实现方式中,从新生成的目标界面中提取对应的解析字段,包括以下步骤:
将新生成的目标界面划分为至少一个行块;
针对至少一个行块中的每个行块,提取一个对应的数据指纹,并将每个数据指纹拆解为对应的至少一个解析字段。
通过上述步骤,在将新生成的目标界面划分所得的行块数量有限,对应的数据指纹拆解得到的解析字段并不多的情况下,能够有效地提高解析准确率。
步骤S104:基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。
如图3和图4所示,为根据本申请一示例性实施例提供的具体应用场景下与提取解析字段过程对应的代码示意图。
基于如图2所示提取的解析字段“区域A”、“标题A”和“2021-12-15”,以及解析字段““区域A”、“标题B”和“2021-12-15””就能够得到如图3和图4所示的源码,并对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。
在一种可能的实现方式中,基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则,包括以下步骤:
通过预设递归方式对响应数据的源码进行搜索,以确定至少一个解析字段中每个解析字段所在的叶子节点,从而获得对应的至少一个叶子节点;
继续对响应数据的源码进行搜索,以确定至少一个叶子节点的公共父节点;
通过公共父节点确定当前行块对应的数据组;
基于当前行块对应的数据组,确定当前行块的异步加载规则;以及
基于当前行块的异步加载规则,推演新生成的目标界面的异步加载规则。
在实际应用场景中,通过预设递归方式对响应数据的源码进行搜索。具体地,在响应数据为JSON数据的情况下,从叶子节点依次向上递归,直至递归至根节点为止,对包括至少一项目标内容的响应数据的源码进行搜索,以搜索到包括至少一项目标内容的至少一个关键节点。在搜索到多个关键节点的情况下,记录全部的关键节点,并由记录的全部关键节点自动生成对应的关键节点列表,这样,从生成的关键节点列表上可以直观地查询到与目标内容相关的所有关键节点的详细情况。
在一种可能的实现方式中,继续对响应数据的源码进行搜索,以确定至少一个叶子节点的公共父节点,包括以下步骤:
继续对响应数据的源码进行搜索,以确定至少一个叶子节点中各个叶子节点的父节点;以及
在各个叶子节点的父节点为相同节点的情况下,将相同节点作为至少一个叶子节点的公共父节点。
在一种可能的实现方式中,本公开实施例提供的异步加载规则的解析方法,还包括以下步骤:
在各个叶子节点的父节点为不同节点的情况下,将各个叶子节点的父节点中到根节点路径最短一个父节点确定为至少一个叶子节点的公共父节点。
在一种可能的实现方式中,在响应数据为JSON数据的情况下执行以下操作:
从新生成的目标界面中提取对应的解析字段;以及
基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。
在一种可能的实现方式中,基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则,包括:
基于至少一个行块中任一行块提取的至少一个解析字段,对响应数据的源码进行解析,以获得该任一行块的一个异步加载规则;
基于至少一个行块中的另一任意行块提取的至少一个解析字段,对响应数据的源码进行解析,以获得该另一任意行块的一个异步加载规则;以及
在两个异步加载规则一致的情况下,将该任一行块的异步加载规则新生成的目标界面的异步加载规则。
通过上述两个异步加载规则的比对过程所得到的比对结果,并在比对结果为两个异步加载规则一致的情况下,才最终确定为新生成的目标界面的异步加载规则,这样,在自动解析生成异步加载规则的情况下,还同时实现了异步加载规则的自动校准过程,从而能够大大地提高解析所得的异步加载规则的准确率。
在一种可能的实现方式中,发送网页数据异步加载请求,包括以下步骤:
基于自动翻页规则,自动触发对应的翻页控件以发送网页数据异步加载请求;这样,通过自动翻页规则自动触发对应的翻页控件,提高了解析过程的智能性和解析效率。
应该理解,在其他实施例中,还可以基于卡片切换逻辑自动触发对应的切换控件以发送网页数据异步加载请求。或者,在其他实施例中,还可以基于下拉框筛选逻辑自动触发对应的筛选及选定控件以发送网页数据异步加载请求。或者,在其他实施例中,还可以基于投词搜索自动触发并发送网页数据异步加载请求。
在一种可能的实现方式中,基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则,包括以下步骤:
响应于目标用户针对目标界面的任一菜单栏的触控操作,根据预置的匹配对应关系对应至目标界面的对应行块;
基于对应行块中任一行块提取的至少一个解析字段,对响应数据的源码进行解析,以获得该任一行块的异步加载规则。
通过上述步骤,能够对更多类型的数据进行自动解析,例如,针对包括CategoryCode字段的数据进行自动解析,可以通过目标用户的触控操作,响应到不同类型的数据页,并回溯出该数据页对应的包括所有关键参数的响应数据的源码,并对源码进行解析,以获得该任一行块的异步加载规则。
在实际应用场景中,可以预先配置显示于目标界面左侧的任一菜单栏与显示于目标界面右侧的包括新闻涉及区域和新闻对应标题的行块之间的对应关系;这样,只要响应于目标用户针对目标界面的任一菜单栏的触控操作,就会对目标界面右侧的包括新闻标题的行块进行自动解析。
在本公开实施例中,发送网页数据异步加载请求;获取服务端针对网页数据异步加载请求返回的响应数据,并基于响应数据对页面中的目标界面进行渲染以生成新的目标界面;从新生成的目标界面中提取对应的解析字段;以及基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。本公开实施例提供的解析方法,能够基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则;这样,能够做到自动解析,整个解析过程无需人工参与,从而大大地提高了异步加载规则的解析效率;此外,由于整个过程是自动解析,避免可能的人为解析错误,从而有效地提高异步加载规则的解析精准度。
在上述的实施例中,提供了一种异步加载规则的解析方法,与之相对应的,本申请还提供一种异步加载规则的解析装置。本公开实施例提供的异步加载规则的解析装置可以实施上述异步加载规则的解析方法,该异步加载规则的解析装置可以通过软件、硬件或软硬结合的方式来实现。例如,该异步加载规则的解析装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。
请参考图5,其示出了本申请的一些实施方式所提供的一种异步加载规则的解析装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图5所示,异步加载规则的解析装置500可以包括:
发送单元501,用于发送网页数据异步加载请求;
获取及渲染单元502,用于获取服务端针对网页数据异步加载请求返回的响应数据,并基于响应数据对页面中的目标界面进行渲染以生成新的目标界面;
提取单元503,用于从新生成的目标界面中提取对应的解析字段;以及
解析单元504,用于基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。
在本公开实施例的一些实施方式中,发送单元501具体用于:
获取通过拦截器拦截的客户端发送给服务端的网页数据异步加载请求;以及对拦截到的网页数据异步加载请求进行模拟发送,以向服务端发起网页数据异步加载请求。
在本公开实施例的一些实施方式中,所述装置500,还可以包括:
确定单元(在图5中未示出),用于通过以下操作确定新的目标界面:
在基于响应数据对页面中的目标界面进行渲染以生成新的目标界面之前,获取页面的网页源码;
在基于响应数据对页面中的目标界面进行渲染以生成新的目标界面之后,再次获取页面的网页源码;以及
通过比较两次获取的页面的网页源码以确定新的目标界面。
在本公开实施例的一些实施方式中,提取单元503具体用于:
将新生成的目标界面划分为至少一个行块;
从至少一个行块中的任一行块中,提取对应的数据指纹;
将数据指纹拆解为至少一个解析字段。
在本公开实施例的一些实施方式中,提取单元503具体用于:
将新生成的目标界面划分为至少一个行块;
针对至少一个行块中的每个行块,提取一个对应的数据指纹,并将每个数据指纹拆解为对应的至少一个解析字段。
在本公开实施例的一些实施方式中,解析单元504具体用于:
通过预设递归方式对响应数据的源码进行搜索,以确定至少一个解析字段中每个解析字段所在的叶子节点,从而获得对应的至少一个叶子节点;
继续对响应数据的源码进行搜索,以确定至少一个叶子节点的公共父节点;
通过公共父节点确定当前行块对应的数据组;
基于当前行块对应的数据组,确定当前行块的异步加载规则;以及
基于当前行块的异步加载规则,推演新生成的目标界面的异步加载规则。
在本公开实施例的一些实施方式中,解析单元504具体用于:
继续对响应数据的源码进行搜索,以确定至少一个叶子节点中各个叶子节点的父节点;以及
在各个叶子节点的父节点为相同节点的情况下,将相同节点作为至少一个叶子节点的公共父节点。
在本公开实施例的一些实施方式中,所述装置500,还可以包括:
公共父节点确定单元(在图5中未示出),用于在各个叶子节点的父节点为不同节点的情况下,将各个叶子节点的父节点中到根节点路径最短一个父节点确定为至少一个叶子节点的公共父节点。
在本公开实施例的一些实施方式中,提取单元503具体用于:
在响应数据为JSON数据的情况下执行以下操作:
从新生成的目标界面中提取对应的解析字段;
在本公开实施例的一些实施方式中,解析单元504具体用于:
在响应数据为JSON数据的情况下执行以下操作:
基于提取的解析字段,对响应数据的源码进行解析,以获得新生成的目标界面的异步加载规则。
在本公开实施例的一些实施方式中,解析单元504具体用于:
基于至少一个行块中任一行块提取的至少一个解析字段,对响应数据的源码进行解析,以获得该任一行块的一个异步加载规则;
基于至少一个行块中的另一任意行块提取的至少一个解析字段,对响应数据的源码进行解析,以获得该另一任意行块的一个异步加载规则;以及在两个异步加载规则一致的情况下,将该任一行块的异步加载规则新生成的目标界面的异步加载规则。
在本公开实施例的一些实施方式中,发送单元501具体用于:
基于自动翻页规则,自动触发对应的翻页控件以发送网页数据异步加载请求。
在本公开实施例的一些实施方式中本公开实施例提供的异步加载规则的解析装置500,与本申请前述实施例提供的异步加载规则的解析方法出于相同的发明构思,具有相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的异步加载规则的解析方法对应的电子设备,所述电子设备可以是用于服务端的电子设备,例如服务器,包括独立的服务器和分布式服务器集群等,以执行上述异步加载规则的解析方法;所述电子设备也可以是用于客户端的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述异步加载规则的解析方法。
请参考图6,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图6所示,所述电子设备30包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本申请前述消息去重处理方法。
其中,存储器301可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口303(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线302可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本公开实施例任一实施方式揭示的消息去重处理方法可以应用于处理器300中,或者由处理器300实现。
处理器300可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
本公开实施例提供的电子设备与本公开实施例提供的异步加载规则的解析方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的异步加载规则的解析方法对应的计算机可读介质,请参考图7,其示出的计算机可读存储介质为光盘70,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述消息去重处理方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本公开实施例提供的异步加载规则的解析方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (14)
1.一种异步加载规则的解析方法,包括:
发送网页数据异步加载请求;
获取服务端针对所述网页数据异步加载请求返回的响应数据,并基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面;
从新生成的目标界面中提取对应的解析字段;以及
基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则,包括:
通过预设递归方式对所述响应数据的源码进行搜索,以确定所述至少一个解析字段中每个解析字段所在的叶子节点,从而获得对应的至少一个叶子节点;
继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点的公共父节点;
通过所述公共父节点确定当前行块对应的数据组;
基于所述当前行块对应的数据组,确定所述当前行块的异步加载规则;以及
基于所述当前行块的异步加载规则,推演所述新生成的目标界面的异步加载规则。
2.根据权利要求1所述的方法,其中,发送网页数据异步加载请求,包括:
获取通过拦截器拦截的客户端发送给所述服务端的网页数据异步加载请求;以及
对拦截到的网页数据异步加载请求进行模拟发送,以向所述服务端发起网页数据异步加载请求。
3.根据权利要求1所述的方法,其中,通过以下操作确定所述新的目标界面,包括:
在所述基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面之前,获取所述页面的网页源码;
在所述基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面之后,再次获取所述页面的网页源码;以及
通过比较两次获取的所述页面的网页源码以确定所述新的目标界面。
4.根据权利要求1所述的方法,其中,从新生成的目标界面中提取对应的解析字段,包括:
将所述新生成的目标界面划分为至少一个行块;
从所述至少一个行块中的任一行块中,提取对应的数据指纹;
将所述数据指纹拆解为至少一个解析字段。
5.根据权利要求1所述的方法,其中,从新生成的目标界面中提取对应的解析字段,包括:
将所述新生成的目标界面划分为至少一个行块;
针对所述至少一个行块中的每个行块,提取一个对应的数据指纹,并将每个数据指纹拆解为对应的至少一个解析字段。
6.根据权利要求1所述的方法,其中,继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点的公共父节点,包括:
继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点中各个叶子节点的父节点;以及在所述各个叶子节点的父节点为相同节点的情况下,将所述相同节点作为所述至少一个叶子节点的公共父节点。
7.根据权利要求6所述的方法,还包括:
在所述各个叶子节点的父节点为不同节点的情况下,将所述各个叶子节点的父节点中到根节点路径最短一个父节点确定为所述至少一个叶子节点的公共父节点。
8.根据权利要求1所述的方法,其中,在所述响应数据为JSON数据的情况下执行以下操作:
从新生成的目标界面中提取对应的解析字段;以及
基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则。
9.根据权利要求5所述的方法,其中,基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则,包括:
基于所述至少一个行块中任一行块提取的至少一个解析字段,对所述响应数据的源码进行解析,以获得该任一行块的一个异步加载规则;
基于所述至少一个行块中的另一任意行块提取的至少一个解析字段,对所述响应数据的源码进行解析,以获得该另一任意行块的一个异步加载规则;以及在两个异步加载规则一致的情况下,将该任一行块的异步加载规则所述新生成的目标界面的异步加载规则。
10.根据权利要求1所述的方法,其中,发送网页数据异步加载请求,包括:
基于自动翻页规则,自动触发对应的翻页控件以发送网页数据异步加载请求。
11.一种异步加载规则的解析装置,包括:
发送单元,用于发送网页数据异步加载请求;
获取及渲染单元,用于获取服务端针对所述网页数据异步加载请求返回的响应数据,并基于所述响应数据对页面中的目标界面进行渲染以生成新的目标界面;
提取单元,用于从新生成的目标界面中提取对应的解析字段;以及
解析单元,用于基于提取的解析字段,对所述响应数据的源码进行解析,以获得所述新生成的目标界面的异步加载规则,包括:
通过预设递归方式对所述响应数据的源码进行搜索,以确定所述至少一个解析字段中每个解析字段所在的叶子节点,从而获得对应的至少一个叶子节点;
继续对所述响应数据的源码进行搜索,以确定所述至少一个叶子节点的公共父节点;
通过所述公共父节点确定当前行块对应的数据组;
基于所述当前行块对应的数据组,确定所述当前行块的异步加载规则;以及
基于所述当前行块的异步加载规则,推演所述新生成的目标界面的异步加载规则。
12.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至10中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177370.7A CN114611039B (zh) | 2022-02-25 | 2022-02-25 | 异步加载规则的解析方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177370.7A CN114611039B (zh) | 2022-02-25 | 2022-02-25 | 异步加载规则的解析方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114611039A CN114611039A (zh) | 2022-06-10 |
CN114611039B true CN114611039B (zh) | 2024-02-20 |
Family
ID=81858940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210177370.7A Active CN114611039B (zh) | 2022-02-25 | 2022-02-25 | 异步加载规则的解析方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114611039B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563427B (zh) * | 2022-07-20 | 2023-07-18 | 合肥汉泰网络科技有限公司 | 响应式异步门户的构建方法、系统和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033115A (zh) * | 2017-06-12 | 2018-12-18 | 广东技术师范学院 | 一种动态网页爬虫系统 |
CN111294395A (zh) * | 2020-01-20 | 2020-06-16 | 广东金赋科技股份有限公司 | 一种终端页面传输方法、装置、介质和电子设备 |
CN112433784A (zh) * | 2020-12-10 | 2021-03-02 | 东莞市盟大塑化科技有限公司 | 页面加载方法、装置、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344351B (zh) * | 2018-10-18 | 2021-01-05 | 网宿科技股份有限公司 | 网页加载方法、中间服务器和网页加载系统 |
-
2022
- 2022-02-25 CN CN202210177370.7A patent/CN114611039B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033115A (zh) * | 2017-06-12 | 2018-12-18 | 广东技术师范学院 | 一种动态网页爬虫系统 |
CN111294395A (zh) * | 2020-01-20 | 2020-06-16 | 广东金赋科技股份有限公司 | 一种终端页面传输方法、装置、介质和电子设备 |
CN112433784A (zh) * | 2020-12-10 | 2021-03-02 | 东莞市盟大塑化科技有限公司 | 页面加载方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
Web异步加载技术分析及信息爬取策略实现;杜润泽;梁英;方英兰;;电脑知识与技术;20180825(第24期);全文 * |
基于Ajax的移动端异步交互新闻系统开发;李颖;唐冶;李松林;;巢湖学院学报;20161125(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114611039A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941779B (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN110580189A (zh) | 生成前端页面的方法、装置、计算机设备以及存储介质 | |
CN111367595B (zh) | 数据处理方法、程序运行方法、装置及处理设备 | |
JP2018116496A (ja) | 差異検出装置及びプログラム | |
CN113760891A (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN114611039B (zh) | 异步加载规则的解析方法、装置、存储介质和电子设备 | |
CN109815243B (zh) | 一种文档界面化修改时的结构化存储方法和装置 | |
CN108460116B (zh) | 搜索方法、装置、计算机设备、存储介质及搜索系统 | |
CN110442439B (zh) | 任务进程处理方法、装置和计算机设备 | |
CN109739883B (zh) | 提升数据查询性能的方法、装置和电子设备 | |
CN111858158A (zh) | 数据处理方法、装置及电子设备 | |
CN111176901A (zh) | 一种hdfs删除文件恢复方法、终端设备及存储介质 | |
CN114258541A (zh) | 数据合并方法、装置、电子设备及存储介质 | |
CN111382189A (zh) | 一种异源异构数据碰撞分析方法、终端设备及存储介质 | |
CN110674386B (zh) | 资源推荐方法、装置及存储介质 | |
CN109491699B (zh) | 应用程序的资源检查方法、装置、设备及存储介质 | |
CN114490510A (zh) | 文本流归档方法、装置、计算机设备及存储介质 | |
CN113641523A (zh) | 一种日志处理方法及装置 | |
CN112947991A (zh) | 版本差异代码文件的获取方法、装置、计算机设备和介质 | |
CN111143526A (zh) | 一种咨询服务控件配置信息的生成、控制方法及装置 | |
JPWO2020065778A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN111949716B (zh) | 格式化数据输出字段处理方法、计算机设备及存储介质 | |
CN110750739B (zh) | 一种页面类型确定方法及装置 | |
CN105683958B (zh) | 文本样本条目组制定 | |
CN116578470A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230731 Address after: Room 404-405, 504, Building B-17-1, Big data Industrial Park, Kecheng Street, Yannan High tech Zone, Yancheng, Jiangsu Province, 224000 Applicant after: Yancheng Tianyanchawei Technology Co.,Ltd. Address before: 224000 room 501-503, building b-17-1, Xuehai road big data Industrial Park, Kecheng street, Yannan high tech Zone, Yancheng City, Jiangsu Province Applicant before: Yancheng Jindi Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |