计算;推算;计数设备的制造及其应用技术1.本技术涉及数据处理技术领域,具体而言,涉及一种网页结构检测方法、设备和可读存储介质。背景技术:2.在互联网时代,网页更新以及网页版本迭代十分迅速。这是由当代人快节奏的生活方式和需求多样性导致的。一些网站往往需要根据新的产品发布、以及新的战略方向的调整来进行网页的更新迭代。因此网页的改变是十分普遍且频繁的。3.与此同时,随着rpa(robotic process automation,机器人流程自动化)技术的兴起,流程自动化被作为提升工作效率的方法已经备受关注。网页元素抓取作为rpa技术的一项重要应用有着十分广泛的用途。rpa能够代替或者协助人类在计算机、手机等数字化设备中完成重复性工作与任务。比如预先设计好使用规则,rpa机器人就可以模拟人工,进行复制、粘贴、点击、输入等操作,协助人类完成大量“规则较为固定、重复性较高、附加值较低”的工作。4.然而,当网页发生版本更新或者变化时,往往会导致rpa网页元素抓取技术失效,这是由于网页的结构随着版本更新而变化导致的。例如:一个网页元素按钮改变了原本在网页上的位置,导致rpa机器人在做点击操作时,无法点到原本的按钮,进而导致预先配置的rpa流程中断。因此,如何发现网页结构的变化,以及时更改网页元素抓取流程,成为亟待解决的问题。技术实现要素:5.本技术实施例的目的在于提供一种网页结构检测方法、设备和可读存储介质,以实现快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性和有效性。6.本技术实施例第一方面提供了一种网页结构检测方法,包括:分别获取所述待处理网页的第一版本网页结构和第二版本网页结构;将所述第一版本网页结构与所述第二版本网页结构进行匹配分析,提取出所述第一版本网页结构与所述第二版本网页结构之间的差异节点集合;根据所述差异节点集合确定是否需要调整对所述待处理网页的元素抓取流程。7.于一实施例中,所述分别获取所述待处理网页的第一版本网页结构和第二版本网页结构,包括:分别获取所述待处理网页的第一版本html代码和第二版本html代码;分别将所述第一版本html代码和第二版本html代码进行结构解析,得到所述第一版本html代码对应的第一树结构作为所述第一版本网页结构,得到所述第二版本html代码对应的第二树结构作为所述第二版本网页结构,其中每个网页元素作为所述树结构的节点。8.于一实施例中,所述将所述第一版本网页结构与所述第二版本网页结构进行匹配分析,提取出所述第一版本网页结构与所述第二版本网页结构之间的差异节点集合,包括:将所述第二树结构变换成所述第一树结构,在变换过程中,将从所述第二树结构中删除的节点放入减少的节点集合,将所述第二树结构中增加的节点放入增加的节点集合,将所述减少的节点集合和所述增加的节点集合作为所述差异节点集合。9.于一实施例中,所述将所述第二树结构变换成所述第一树结构,在变换过程中,将从所述第二树结构中删除的节点放入减少的节点集合,包括:从所述树结构的根节点开始,按照节点分布次序,判断所述第一树结构与所述第二树结构相同层级中当前次序节点的标签是否相同;当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,从所述第二树结构中提取出所述当前次序节点和所述当前次序节点的子孙节点加入所述减少的节点集合中。10.于一实施例中,将所述第二树结构变换成所述第一树结构,在变换过程中,将所述第二树结构中增加的节点放入增加的节点集合,包括:从所述树结构的根节点开始,按照节点分布次序,判断所述第一树结构与所述第二树结构相同层级中当前次序节点的标签是否相同;当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,从所述第一树结构中提取出所述当前次序节点和所述当前次序节点的子孙节点加入所述增加的节点集合中。11.于一实施例中,还包括:当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签相同时,判断所述第一树结构与所述第二树结构中下一次序节点的标签是否相同,其中所述下一次序节点为所述当前次序节点的子节点;当所述第一树结构与所述第二树结构中所述下一次序节点的标签不同时,从所述第二树结构中提取出所述下一次序节点和所述下一次序节点的子孙节点加入所述减少的节点集合中,并从所述第一树结构中提取出所述下一次序节点和所述下一次序节点的子孙节点加入所述增加的节点集合中;当所述第一树结构与所述第二树结构中所述下一次序节点的标签相同时,进入所述下一次序节点的子节点进行比对,直至遍历所述第一树结构和第二树结构的所有节点为止,得到最终的所述增加的节点集合和所述减少的节点集合。12.于一实施例中,所述将所述第二树结构变换成所述第一树结构,在变换过程中,将从所述第二树结构中删除的节点放入减少的节点集合,包括:当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,判断在相同层级中所述第一树结构中的第一节点数量n与所述第二树结构中的第二节点数量m是否相同,其中n和m为正整数;当所述第一节点数量n小于所述第二节点数量m时,从所述第二树结构中提取出次序为第n+1至第m个节点、以及第n+1至第m个节点的子节点加入至所述减少的节点集合中。13.于一实施例中,将所述第二树结构变换成所述第一树结构,在变换过程中,将所述第二树结构中增加的节点放入增加的节点集合,包括:当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,判断在相同层级中所述第一树结构中的第一节点数量n与所述第二树结构中的第二节点数量m是否相同,其中n和m为正整数;当所述第一节点数量n大于所述第二节点数量m时,从所述第一树结构中提取出次序为第m+1至第n个节点、以及第m+1至第n个节点的子节点加入至所述增加的节点集合中。14.于一实施例中,所述根据所述差异节点集合确定是否需要调整对所述待处理网页的元素抓取流程,包括:判断所述第一版本网页结构的元素抓取流程中涉及的目标节点是否在所述增加的节点集合中;当所述目标节点在所述增加的节点集合中时,判断所述目标节点是否在所述增加的节点集合中;当所述目标节点不在所述增加的节点集合中时,确定需要调整对所述待处理网页的元素抓取流程,发出提示信息。15.于一实施例中,所述当所述目标节点不在所述减少的节点集合中时,确定需要调整对所述待处理网页的元素抓取流程,发出提示信息,包括:当所述目标节点不在所述减少的节点集合中时,根据所述增加的节点集合和所述减少的节点集合计算所述第一树结构与所述第二树结构的相似度;发出网页结构变更提示,所述变更提示中包括:所述相似度和所述待处理网页对应的节点分布变更信息。16.于一实施例中,还包括:当所述目标节点在所述减少的节点集合中时,提示在从所述第一版本网页结构更换成所述第二版本网页结构时,所述目标节点对应的网页元素在所述待处理网页中的分布发生改变。17.于一实施例中,还包括:统计所述第一树结构中每一层级中的节点数量,得到第一数组,统计所述第二树结构中每一层级中的节点数量,得到第二数组;将所述第一数组与所述第二数组中对应层级的节点数量相减,得到所述第一树结构与所述第二树结构的每一层级节点数量之间的差值数组;当所述差值数组中非零元素之间存在等比关系时,发提示所述待处理网页更新后增删了网页组件,其中,一个所述网页组件中包括至少一个网页元素。18.于一实施例中,在所述将所述第二树结构变换成所述第一树结构的过程中,还包括:当有新增加到第二树结构中的节点时,调整所述第二树结构中新增加的节点的分布次序,以使所述新增加的节点的分布次序排列在所述第二树结构中原有节点的分布次序之后。19.本技术实施例第二方面提供了一种网页结构检测装置,包括:获取模块,用于分别获取所述待处理网页的第一版本网页结构和第二版本网页结构;分析模块,用于将所述第一版本网页结构与所述第二版本网页结构进行匹配分析,提取出所述第一版本网页结构与所述第二版本网页结构之间的差异节点集合;确定模块,用于根据所述差异节点集合确定是否需要调整对所述待处理网页的元素抓取流程。20.于一实施例中,所述获取模块用于:分别获取所述待处理网页的第一版本html代码和第二版本html代码;分别将所述第一版本html代码和第二版本html代码进行结构解析,得到所述第一版本html代码对应的第一树结构作为所述第一版本网页结构,得到所述第二版本html代码对应的第二树结构作为所述第二版本网页结构,其中每个网页元素作为所述树结构的节点。21.于一实施例中,所述分析模块用于:将所述第二树结构变换成所述第一树结构,在变换过程中,将从所述第二树结构中删除的节点放入减少的节点集合,将所述第二树结构中增加的节点放入增加的节点集合,减少的增加的将所述增加的节点集合和所述减少的节点集合作为所述差异节点集合。22.于一实施例中,所述分析模块用于:从所述树结构的根节点开始,按照节点分布次序,判断所述第一树结构与所述第二树结构相同层级中当前次序节点的标签是否相同;当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,从所述第二树结构中提取出所述当前次序节点和所述当前次序节点的子孙节点加入所述减少的节点集合中。23.于一实施例中,所述分析模块用于:从所述树结构的根节点开始,按照节点分布次序,判断所述第一树结构与所述第二树结构相同层级中当前次序节点的标签是否相同;当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,从所述第一树结构中提取出所述当前次序节点和所述当前次序节点的子孙节点加入所述增加的节点集合中。24.于一实施例中,所述分析模块还用于:当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签相同时,判断所述第一树结构与所述第二树结构中下一次序节点的标签是否相同,其中所述下一次序节点为所述当前次序节点的子节点;当所述第一树结构与所述第二树结构中所述下一次序节点的标签不同时,从所述第二树结构中提取出所述下一次序节点和所述下一次序节点的子孙节点加入所述减少的节点集合中,并从所述第一树结构中提取出所述下一次序节点和所述下一次序节点的子孙节点加入所述增加的节点集合中;当所述第一树结构与所述第二树结构中所述下一次序节点的标签相同时,进入所述下一次序节点的子节点进行比对,直至遍历所述第一树结构和第二树结构的所有节点为止,得到最终的所述增加的节点集合和所述减少的节点集合。25.于一实施例中,所述分析模块还用于:当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,判断在相同层级中所述第一树结构中的第一节点数量n与所述第二树结构中的第二节点数量m是否相同,其中n和m为正整数;当所述第一节点数量n小于所述第二节点数量m时,从所述第二树结构中提取出次序为第n+1至第m个节点、以及第n+1至第m个节点的子节点加入至所述减少的节点集合中。26.于一实施例中,所述分析模块还用于:将所述第二树结构变换成所述第一树结构,在变换过程中,将所述第二树结构中增加的节点放入增加的节点集合,包括:当所述第一树结构与所述第二树结构相同层级中所述当前次序节点的标签不相同时,判断在相同层级中所述第一树结构中的第一节点数量n与所述第二树结构中的第二节点数量m是否相同,其中n和m为正整数;当所述第一节点数量n大于所述第二节点数量m时,从所述第一树结构中提取出次序为第m+1至第n个节点、以及第m+1至第n个节点的子节点加入至所述增加的节点集合中。27.于一实施例中,所述确定模块用于:判断所述第一版本网页结构的元素抓取流程中涉及的目标节点是否在所述增加的节点集合中,其中,所述目标节点的类型为所述第一版本网页结构的元素抓取流程中需要用到的节点类型;当所述目标节点在所述增加的节点集合中时,判断所述目标节点是否在所述减少的节点集合中;当所述目标节点不在所述减少的节点集合中时,确定需要调整对所述待处理网页的元素抓取流程,发出提示信息。28.于一实施例中,所述确定模块用于:当所述目标节点不在所述减少的节点集合中时,根据所述减少的节点集合和所述增加的节点集合计算所述第一树结构与所述第二树结构的相似度;发出网页结构变更提示,所述变更提示中包括:所述相似度和所述待处理网页对应的节点分布变更信息。29.于一实施例中,还包括:提示模块,用于当所述目标节点在所述减少的节点集合中时,提示在从所述第一版本网页结构更换成所述第二版本网页结构时,所述目标节点对应的网页元素在所述待处理网页中的分布发生改变。30.于一实施例中,还包括:统计模块,用于统计所述第一树结构中每一层级中的节点数量,得到第一数组,统计所述第二树结构中每一层级中的节点数量,得到第二数组;相减模块,用于将所述第一数组与所述第二数组中对应层级的节点数量相减,得到所述第一树结构与所述第二树结构的每一层级节点数量之间的差值数组;所述提示模块还用于当所述差值数组中非零元素之间存在等比关系时,发提示所述待处理网页更新后增删了网页组件,其中,一个所述网页组件中包括至少一个网页元素。31.于一实施例中,在所述将所述第二树结构变换成所述第一树结构的过程中,还包括:当有新增加到第二树结构中的节点时,调整所述第二树结构中新增加的节点的分布次序,以使所述新增加的节点的分布次序排列在所述第二树结构中原有节点的分布次序之后。32.本技术实施例第三方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行所述计算机程序,以实现本技术实施例第一方面及其任一实施例的方法。33.本技术实施例第四方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本技术实施例第一方面及其任一实施例的方法。34.本技术提供的网页结构检测方法、设备和可读存储介质,通过对于待处理网页的第一版本网页结构和第二版本网页结构进行结构匹配分析,并提取出二者之间的差异节点集合,然后基于差异节点集合来确定该待处理网页的元素抓取流程是否需要调整,如此,实现了快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性。附图说明35.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。36.图1为本技术一实施例的电子设备的结构示意图;37.图2a为本技术一实施例的网页结构检测方法的流程示意图;38.图2b为本技术一实施例的网页结构检测场景示意图39.图3为本技术一实施例的网页结构检测方法的流程示意图;40.图4a为本技术实施例待测网页的第一版本的第一树结构的示意图;41.图4b为本技术实施例的待测网页的第二版本的第二树结构的示意图;42.图5a为本技术实施例的待测网页的第一版本的第一树结构的示意图;43.图5b为本技术实施例的待测网页的第二版本的第二树结构的示意图;44.图6a为本技术实施例的待测网页的第一版本的在交互界面的示意图;45.图6b为本技术实施例的待测网页第二版本的在交互界面的示意图;46.图7本技术一实施例的网页结构检测装置的结构示意图。具体实施方式47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。48.如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器为例。处理器11和存储器12通过总线10连接。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以实现快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性。49.于一实施例中,电子设备1可以是手机、平板电脑、笔记本电脑、台式计算机等设备。50.请参看图2a,其为本技术一实施例的网页结构检测方法,该方法可由图1所示的电子设备1来执行,以快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性。该方法包括如下步骤:51.步骤201:分别获取待处理网页的第一版本网页结构和第二版本网页结构。52.在本步骤中,待处理网页可以是新更新的网页,可以通过登录该待处理网页,来获取到该待处理网页的相关数据。实际场景中,网页会随着实际需求快速更新换代,每当网页更新版本,可能意味着该网页的某些网页元素发生改变,如果不及时调整对应的元素抓取流程,很可能导致元素抓取流程失效,因此,当网页更新版本时,可以对其进行检测。此处网页结构可以是dom(document object model,文档对象模型)树结构,是一种节点树,其中网页元素作为树结构的节点。53.为了检测待处理网页更新版本后是否发生结构变化,需要获取两个相比较的版本的网页结构,即第一版本网页结构和第二版本网页结构,其中第一版本网页结构可以是待处理网页更新前的旧版本,第二版本网页结构可以是待处理网页更新后的新版本。当然,第二版本网页结构可以是待处理网页更新前的旧版本,第一版本网页结构可以是待处理网页更新后的新版本,此处不做限定。本实施例中以第一版本网页结构是待处理网页更新前的旧版本,第二版本网页结构是待处理网页更新后的新版本为例。54.于一实施例中,步骤201具体可以包括:分别获取待处理网页的第一版本html代码和第二版本html代码。分别将第一版本html代码和第二版本html代码进行结构解析,得到第一版本html代码对应的第一树结构作为第一版本网页结构,得到第二版本html代码对应的第二树结构作为第二版本网页结构,其中每个网页元素作为树结构的节点。55.在实际操作中,可以将待处理网页原有版本和新的版本分别进行html的结构解析。网页的结构一般是树状图的形式,层次嵌套型的结构。可以通过网页的html代码解析成“树”结构形式,每个元素表示为树的节点形式。网页的html代码较容易获得,比如通过浏览器登录该待处理网页,即可查看对应的html代码,将树结构作为网页结构可以更加直观更加清晰的进行元素匹配。56.其中,网页中的每个元素都包含至少以下属性:“tag”、“self_index”、“father_index”、“deep”、“children_index_list”。“tag”表示该元素的类型,在html中包括且不限于:《body》是网页的主体。《div》元素是块级元素,它是可用于组合其他html元素的容器。《script》标签用于定义客户端脚本。《li》标签定义列表项目。《span》元素是内联元素,可用作文本的容器。《text》对象代表html表单中的文本输入域等。“self_index”表示每个元素唯一的序号,用来作为元素的唯一标识。“father_index”表示为该元素的父节点的“self_index”。“deep”表示为该元素在数结构中的深度。“children_index_list”表示该元素的子节点的“self_index”集合,会指定子节点的排列顺序。57.步骤202:将第一版本网页结构与第二版本网页结构进行匹配分析,提取出第一版本网页结构与第二版本网页结构之间的差异节点集合。58.在本步骤中,差异节点集合可以表征待处理网页从第一版本更新到第二版本后元素发生了哪些变化,进而有助于分析是否需要调整对应的元素抓取流程。差异节点集合是相对于节点在树结构中的分布关系来说的,当网页结构从第一版本更新到第二版本后,节点的分布关系改变时,该节点就是差异节点,分布关系的改变可以包括节点在网页结构中的分布位置变化、节点所属层级变化、节点增删变化等。59.比如对步骤201解析出来的第一树结构和第二树结构进行对比。比较方法可以是从“根节点”开始,对两个树结构的每一层分别对应比较,也就是说第一树结构的第一层与第二树结构的第一层对比,第一树结构的第二层与第二树结构的第二层对比,不考虑节点的跨层级比较,如此只需遍历一遍树结构即可从中确定出第一版本网页结构与第二版本网页结构之间的差异节点集合,提高匹配对比效率。60.于一实施例中,步骤202具体可以包括:将第二树结构变换成第一树结构,在变换过程中,将从第二树结构中删除的节点放入减少的节点集合,将第二树结构中增加的节点放入增加的节点集合,,将减少的节点集合和增加的节点集合作为差异节点集合。61.如图2b所示,假设“□”代表树结构中的层,“○”表示树结构中的节点,左边为待处理网页的对应的第一树结构(旧版本),右边为待处理网页更新后的对应的第二树结构(新版本)。则在进行网页结构匹配分析时,可以通过将第二树结构改造成第一树结构的过程中来确定增删节点,在改造过程中,从树结构最上层的根节点开始,将第一树结构与第二树结构中同一层级的“□”内的节点,按照节点在该层级的分布次序依次进行比较,节点比较不跨层级。根据对比结果,可以确定哪些节点是改造过程中减少的节点集合,哪些节点是改造过程中增加的节点集合,减少的节点集合和增加的节点集合都加入差异节点集合。如此,节点比较不跨层级,只需要遍历一次网页的树结构,就可以完成所有的对比,提高效率。62.步骤203:根据差异节点集合确定是否需要调整对待处理网页的元素抓取流程。63.在本步骤中,差异节点集合可以表征待处理网页从第一版本更新到第二版本后元素发生了哪些变化,这些变化很可能引起对应的元素抓取流程失效,因此需要及时检测变化的元素,以确定是否要调整元素抓取流程,或者可以确定如何调整元素抓取流程,以避免元素抓取流程失效带来的损失。64.于一实施例中,步骤203具体可以包括:判断第一版本网页结构的元素抓取流程中涉及的目标节点是否在增加的节点集合中。当目标节点在增加的节点集合中,判断目标节点是否在减少的节点集合中。当目标节点不在减少的节点集合中时,确定需要调整第一版本网页结构的元素抓取流程,发出提示信息。此处,目标节点的类型为第一版本网页结构的元素抓取流程中需要用到的节点类型。65.在本步骤中,第一版本网页结构为待处理网页更新前的旧版本,元素抓取流程也是针对旧版本的,当待处理网页更新到第二版本时,旧版本的元素抓取流程是否能继续使用,需要看待处理网页更新后的元素变化状况。元素抓取流程中一般会用到待处理网页中的一个或多个元素,当旧版本的元素抓取流程中用到的目标节点在增加的节点集合中时,说明待处理网页更新到第二版本后,可能将原来的目标节点删除了,也可能将目标节点更改了分布关系。则继续判断目标节点是否在减少的节点集合中,当目标节点不在减少的节点集合中时,则说明在从第一版本网页结构更换成第二版本网页结构时,目标节点被从述待处理网页中删去,那么旧版本的元素抓取流程将无法在更新后的网页中抓取到目标节点对应的元素,因此为了避免这种无效抓取状况,发出提示,以通知工作人员及时调整旧版本的元素抓取流程。66.于一实施例中,当目标节点在增加的节点集合中,并且目标节点也在减少的节点集合中时,提示在从第一版本网页结构更换成第二版本网页结构时,目标节点对应的网页元素在待处理网页中的分布发生改变。这种情况说明在从第一版本网页结构更换成第二版本网页结构时,目标节点对应的网页元素还在待处理网页中,只是该目标节点对应的网页元素在待处理网页中的分布关系发生改变,分布关系发生改变比如可能是该网页元素分布位置改变,或者是该网页元素所属层级发生改变等等。可以将这种分布关系的改变信息提示出来,以供工作人员适时调整元素抓取流程。67.实际场景中,当网页结构更新后节点仍然保留在网页结构中,只是该节点的分布关系发生变化时,由于该节点对应的网页元素仍然保留在更新后的网页界面中,因此,原本的元素抓取流程仍然可以找到该元素,虽然对更新前后的树结构的相似度有一定影响,但是对该元素抓取流程不一定有影响。即,如果元素抓取流程中涉及的目标节点虽然在增加的节点集合中,但是依然可以在减少的节点集合中找到,是有可能不影响元素抓取流程的实际操作的,依然可以保持原有元素抓取流程算法的稳定性,为了让工作人员及时了解网页结构的变化,可以将这种网页结构中节点分布关系的改变信息提示出来。68.上述网页结构检测方法,通过对于待处理网页的第一版本网页结构和第二版本网页结构进行结构匹配分析,并提取出二者之间的差异节点集合,然后基于差异节点集合来确定该待处理网页的元素抓取流程是否需要调整,如此,实现了快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性。69.请参看图3,其为本技术一实施例的网页结构检测方法,该方法可由图1所示的电子设备1来执行,以快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性。该方法包括如下步骤:70.步骤301:分别获取待处理网页的第一版本html代码和第二版本html代码。详细参见上述实施例中对步骤201的描述。71.步骤302:分别将第一版本html代码和第二版本html代码进行结构解析,得到第一版本html代码对应的第一树结构作为第一版本网页结构,得到第二版本html代码对应的第二树结构作为第二版本网页结构。详细参见上述实施例中对步骤201的描述。72.步骤303:从树结构的根节点开始,按照节点分布次序,判断第一树结构与第二树结构相同层级中当前次序节点的标签是否相同。若是进入步骤309,否则进入步骤304。73.在本步骤中,此处分布次序可以由各个节点的序号来表示,比如该节点的“self_index”、“father_index”属性表示该节点的分布次序。当前次序节点是指在当前比对的层级中,第一树结构与第二树结构上相同分布次序的节点。如图2b所示,从根节点开始。对比同一层级两个节点的标签“tag”属性是否相同,即判断两个树结构上相同分布次序的两个节点的元素类型是否相同,如果相同进入步骤309,否则进入步骤304,如果当前比对层级第一树结构与第二树结构上分别包括多个相同分布次序的节点,则针对每个节点分别执行步骤303至步骤311,以遍历第一树结构和第二树结构的所有节点。步骤304:从第二树结构中提取出当前次序节点和当前次序节点的子孙节点加入减少的节点集合中。74.在本步骤中,当第一树结构与第二树结构相同层级中当前次序节点的标签不相同时,说明网页更新后,网页结构在当前次序节点上分布关系有变化。具体发生了什么变化,可以通过将第二树结构改造成第一树结构的过程中来确定增删节点,进而确定二者的差异节点集合,改造过程如下:75.第一树结构当前次序节点替换掉第二树结构对应位置当前次序节点来确定:第一步先将第二树结构的当前次序节点以及其所有子孙节点删除,其中被删除的节点的父亲节点中的“children_index_list”也需要将删除节点的“self_index”删除,并将所有删除的节点的“self_index”放入deletednodes的数组中,deletednodes就是第二树结构相比于第一树结构减少的节点集合。deletednodes可以是一个数组,里面存放所有新网页中删除节点的“self_index”。76.步骤305:从第一树结构中提取出当前次序节点和当前次序节点的子孙节点加入增加的节点集合中。77.在本步骤中,接着步骤304中的改造过程,第二步再将第一树结构的当前次序节点以及子孙节点进行添加到第二树结构,并将改造工程中所有新添加到第二树结构的节点放入addednodes的数组中,addednodes就是第二树结构相比于第一树结构增加的节点集合。78.于一实施例中,在将第二树结构变换成第一树结构的过程中,还包括:当有新增加到第二树结构中的节点时,调整第二树结构中新增加的节点的分布次序,以使新增加的节点的分布次序排列在第二树结构中原有节点的分布次序之后。79.为了防止新添加的节点编号与原来右侧树的节点编号即“self_index”冲突,需要将新加的节点以及其子孙节点编号进行调整,调整方法是把将要新添加节点的“self_index”加上第二树结构的节点总数量,例如:假设原html树有i个节点,“self_index”分别是1到i,i为正整数。新html树包含j个节点,“self_index”分别是1到j,j为正整数。现将原html中的“self_index”为k的节点加入新的html树中去。因为新的html树中可能也存在“self_index”为k的节点,因此将原树中的“k”号节点的“self_index”由k改为k+j,如此可以避免“self_index”相同。该新添加节点的子孙节点将进行同样操作。同样,新添加节点的“self_index”也需要在被删除节点的父节点的“children_index_list”中插入到原先被删除节点序号的位置。80.步骤306:判断在相同层级中第一树结构中的第一节点数量n与第二树结构中的第二节点数量m是否相同,其中,第一节点和第二节点所属的父节点分布次序相同。若n小于m进入步骤307,若n大于m进入步骤308。81.在本步骤中,n和m为正整数,若本层级中当前次序节点的标签不同,但是本层级中第一树结构中的第一节点数量n与第二树结构中的第二节点数量m相同,即n=m,说明网页更新后,当前次序节点类型发生改变,并且本层级分布次序相同的父节点下没有新增其他子节点,则将前一步骤得到本层级增加的节点集合和减少的节点集合作为本层级最终的增加的节点集合和减少的节点集合。若n《m,进入步骤307,若n》m进入步骤308。82.步骤307:从第二树结构中提取出次序为第n+1至第m个节点、以及第n+1至第m个节点的子节点加入至减少的节点集合中。然后进入步骤309。83.在本步骤中,如果同一层级的两个树结构的节点数量不同,当第一节点数量n小于第二节点数量m时,即n《m,说明网页更新后,第二树结构相较于更新前的第一树结构在当前层级的节点数量增多了,按照上述步骤304中的改造工程,则将第二树结构的第n+1个到第m个节点以及其子孙节点删除,并将所有删除的节点放入减少的节点集合deletednodes的数组中。84.步骤308:从第一树结构中提取出次序为第m+1至第n个节点、以及第m+1至第n个节点的子节点加入至增加的节点集合中。然后进入步骤309。85.在本步骤中,当第一节点数量n大于第二节点数量m时,即n》m,说明网页更新后,第二树结构相较于更新前的第一树结构在当前层级的节点数量减少了,按照上述步骤304中的改造工程,则将第一树结构的第m+1个到n个节点以及其子孙节点添加到第二树结构中,并该改造步骤所有添加的节点放入增加的节点集合addednodes的数组中。86.于一实施例中,步骤306至步骤308也可以放在步骤303-步骤305之前进行,即在将第二树结构改造成第一树结构的过程中,可以先判断在相同层级中第一树结构中的第一节点数量n与第二树结构中的第二节点数量m是否相同,其中,第一节点和第二节点所属的父节点分布次序相同。若n小于m,则从第二树结构中提取出次序为第n+1至第m个节点、以及第n+1至第m个节点的子节点加入至减少的节点集合中。然后执行上述步骤303-步骤305的步骤,并执行步骤309及其之后的流程。若n大于m,则从第一树结构中提取出次序为第m+1至第n个节点、以及第m+1至第n个节点的子节点加入至增加的节点集合中,然后执行上述步骤303-步骤305的步骤。并执行步骤309及其之后的流程。87.本技术实施例对于步骤306至步骤308与步骤303-步骤305之间的执行顺序不做限定。88.步骤309:判断第一树结构与第二树结构中下一次序节点的标签是否相同,其中下一次序节点为当前次序节点的子节点。若是,进入步骤311,否则进入步骤310。89.在本步骤中,当第一树结构与第二树结构相同层级中当前次序节点的标签相同时,说明待处理网页更新后,第二树结构相较于更新前的第一树结构在当前层级的当前次序节点没有变化,该节点不是二者的差异节点,则继续判断两个树结构中当前次序节点的子节点,也就是下一次序节点的标签是否相同,若相同进入步骤311,否则进入步骤310。90.步骤310:从第二树结构中提取出下一次序节点和下一次序节点的子孙节点加入减少的节点集合中,并从第一树结构中提取出下一次序节点和下一次序节点的子孙节点加入增加的节点集合中。并进入步骤306。91.在本步骤中,当第一树结构与第二树结构中下一次序节点的标签不同时,说明待处理网页从第一版本更新到第二版本后,网页结构在下一次序节点上也有变化。具体发生了什么变化,同样可以通过将第二树结构改造成第一树结构的过程中来增添元素类确定,具体的改造过程可以参照步骤304至步骤308的详细描述。92.步骤311:判断是否已遍历第一树结构和第二树结构的所有节点,若是,得到最终的减少的节点集合和增加的节点集合,若是进入步骤312,否则返回步骤309。93.在本步骤中,当第一树结构与第二树结构中下一次序节点的标签相同时,说明待处理网页更新后,第二树结构相较于更新前的第一树结构在当前层级的下一次序节点没有变化,该节点不是二者的差异节点,则继续判断是否已经遍历第一树结构和第二树结构的所有节点,若没有,则返回步骤309,继续判进入下一次序节点的子节点进行比对,直至遍历第一树结构和第二树结构的所有层级的所有节点为止,得到最终的减少的节点集合和增加的节点集合。然后进入步骤312。94.步骤312:判断第一版本网页结构的元素抓取流程中涉及的目标节点是否在增加的节点集合中。若是进入步骤313。详细参见上述实施例中对步骤203的具体实施例的描述。95.步骤313:当目标节点在增加的节点集合中,判断目标节点是否在减少的节点集合中。若不在,进入步骤314。详细参见上述实施例中对步骤203的具体实施例的描述。96.步骤314:当目标节点不在减少的节点集合中时,确定需要调整对待处理网页的元素抓取流程,发出提示信息。详细参见上述实施例中对步骤203的具体实施例的描述。97.于一实施例中,步骤314可以包括:当目标节点不在减少的节点集合中时,根据减少的节点集合和增加的节点集合计算第一树结构与第二树结构的相似度。发出网页结构变更提示,变更提示中包括:相似度和待处理网页对应的节点分布变更信息。98.在本步骤中,将标签相同,分布次序不一样的节点确定为不同的节点,即属于差异节点,将两个树结构中的相同节点组成的集合称为该两个树结构中节点的交集,可以采用第一树结构与第二树结构中节点的交并比来表征二者的相似度,假设待处理网页更新到第二版本后,第二树结构中的节点总数为j,相似度可以采用如下公式计算:99.相似度=(j-deletednodes数组中节点数量)/(j+addeddnodes数组中节点数量)。100.在上述将将第二树结构改造成第一树结构的过程中,第二树结构中没有被删除或者不是新添加的节点可以认为是和第一树结构中的节点是一一对应关系,在网页发生改版的过程中,如果原有的元素抓取流程涉及的类型的节点没有被删除或者添加,则无需更改流程,因此,即使网页发生更新也能保持原有的元素抓取流程算法稳定性。若原元素抓取流程中的相关类型的节点在addednodes中,则认为待处理网页更新后的新网页中,相关节点被删除了,若deletednodes中也无法找到该类型的相关节点,则可以发出提示,以通知用户需要调整元素抓取流程,并且可以同时提示出相似度的值,以供用户及时发现网页版本改变的程度。101.于一实施例中,当待处理网页改版前后的两个树结构相似度过低,比如低于设定阈值,但原有元素抓取流程仍可跑通时,可发出提示信息,建议用户提前调整元素抓取流程,以防止下一次网页更新造成流程失效,此处相似度的设定阈值可以基于实际需求设定,比如可以是0.6至1中的某个数值。102.下面结合图例进一步详细说明本技术实施例的网页结构检测方法。103.如图4a所示,为本技术实施例的一个待测网页的第一版本对应的第一树结构,如图4b所示,为本技术实施例的一个待测网页更新后的第二版本对应的第二树结构。其中,“○”代表节点,“○”内的数字序号代表该节点的“self_index”属性,“○”内的文字代表该节点的“tag”属性。采用步骤303至步骤311的的节点匹配分析方式,通过将第二树结构改造成第一树结构的过程中来确定两个树结构的增删节点,具体操作如下:104.首先对比图4a的1号节点和图4b中的1号节点,“tag”都是“body”即这两个1号节点标签相同。假设树结构中的节点排序是从左到右的,则从左至右对比这两个1号节点的子节点,即对比图4a的2号节点和图4b中的2号节点,两个2号节的“tag”都是“div”,则继续从左至右对比这两个2号节点的子节点。105.接着依次序对比对比图4a的3号节点和图4b中的3号节点,“tag”都是“li”,即这两个3号节点标签相同,则从左至右对比该两个3号节点的子节点。此时发现这两个3号节点都不存在子节点。于是对比同一层级的图4a的4号节点和图4b中的4号节点,这两个4号节点的“tag”都是“li”,即这两个4号节点标签相同,且该两个4号节点都没有子节点。106.在3号节点和4号节点所在的树结构层级中,图4a中第一树结构的2号节点的子节点数量是2(即步骤306中的n=2),图4b中第二树结构的2号节点的子节点数量是3(即步骤306中的m=3)。可见n《m,因此按照步骤307的方式,将图4b中第二树结构的5号节点删除,则被删除的5号节点加入deletednodes集合(即减少的节点集合),deletednodes集合现为{5}。107.此时图4a和图4b中的2号节点的所有子节点都已经被遍历。因此开始对比图4a中5号节点和图4b中6号节点,两者“tag”都是“div”,即二者标签相同。从左至右对比图4a中5号节点的子节点与图4b中6号节点的子节点,即对比图4a中6号节点与4b中7号节点,4a中6号节点“tag”都是“li”,4b中7号节点“tag”都是“div”,二者“tag”不同,则将4b中7号节点以及其子节点8删除,被删除的节点加入deletednodes集合,deletednodes集合现为{5,7,8}。108.因为是通过将第二树结构改造成第一树结构的过程,来得到deletednodes和addednodes(即增加的节点集合)这两个数组。因此要把4a中6号节点加入图4b中的第二树结构中。为了对比后续节点时出现序号冲突,将图4a中6号节点加上图4b中第二树结构的节点总数量8(即步骤305中的j)等于14,即将原图4a中6号节点序号变成14后插入至原来图4b中第二树结构的7号节点的位置。插入的原6号节点加入addednodes集合,addednodes集合现为{6}。109.在图4a中6号节点和图4b中7号节点所在的层级中,图4a中第一树结构的5号节点的子节点数量是2(即步骤306中n=2),图4b中第二树结构6号节点的子节点数量为1(即步骤306中的m=1)。可见n》m,因此按照步骤308的方式,将图4a中第一树结构第m+1个至第n个节点、以及第m+1至第n个节点的子节点加入将图4b中第二树结构中,也就是将在图4a中6号节点所在的层级中的7号节点加入将图4b中第二树结构中。同理,序号需要进行调整,调整后节点序号为7+8=15,即图4a中第一树结构的节点“7.li”加入到图4b中后变成“15.li”。并将图4a中的7号节点加入addednodes集合,addednodes集合现为{6,7}。此时第一树结构和第二树结构的所有节点都遍历完毕,对比结束。在改造过程中,addednodes集合以及deletednodes集合是只包含节点序号的,但是会将这两个集合中所有涉及的节点信息在图4b的第二树结构上更新。改造完毕后,第二树结构与第一树结构一摸一样。110.通过上述方式,可以找出两棵网页树结构中的相同结构节点数量,以及不同结构节点数量。然后按照步骤312至步骤314的方式进行判断,如果原rpa流程需要用到原网页中的”self_index”分别为n1、n2、n3的目标节点。则只要看目标节点n1、n2、n3有没有在addednodes集合里,如果不在,代表更新版本后的新网页也包含这些节点,不需要更改原rpa流程。111.如果目标节点n1、n2、n3在addednodes集合里,标识更新版本后的新网页没有这些节点,这时候需要再判断一下deletednodes集合里面是否包含这些目标节点。如果包含,则表示这些目标节点对应的网页元素在更新版本后仅仅是变换了位置或者层级而已,也不需要更改原rpa流程,但是可以发出提示信息,通知工作人员相关变更信息并记录。112.如果目标节点n1、n2、n3在addednodes集合里,并且不在deletednodes集合中,则代表这些目标节点在网页版本更新后丢失了。则需要提示需要调整原rpa流程,避免原rpa流程失效。113.得到差异元素数量就可以计算第一树结构与第二树结构的相似度。根据步骤314中的方式:第二树结构中的节点总数j=8,addednodes集合有2个元素,deletednodes集合有3个元素。则图4a中第一树结构与图4b中第二树结构的相似度=(8-3)/(8+2)=0.5。假设相似度设定阈值为0.6,此处第一树结构与第二树结构的相似度为0.5小于0.6,即使原rpa流程可以继续使用,也要发出提示信息,以提醒用户,防患于未然,重新修改流程,防止在下次网页更新导致流程失败。114.本技术实施例的网页结构检测方法,对于任意两个网页结构均可以进行差异性检测,即使将更新前后两个版本的网页结构调换过来,也适用,虽然检测过程会有不同,但是二者相似度不会受到影响,下面举例说明。115.假设将图4a和图4b中两个网页树结构调换,即得到与5a和图5b。如图5a所示,为本技术实施例的一个待测网页的第一版本对应的第一树结构,如图5b所示,为本技术实施例的一个待测网页更新后的第二版本对应的第二树结构。其中,“○”代表节点,“○”内的数字序号代表该节点的“self_index”属性,“○”内的文字代表该节点的“tag”属性。采用步骤303至步骤311的节点匹配分析方式,通过将第二树结构改造成第一树结构的过程中来确定两个树结构的增删节点,具体操作如下:116.首先对比图5a的1号节点和图5b中1号节点,“tag”都是“body”,从左至右对比两个1号节点的子节点。即对比图5a和图5b中的两个2号节点,“tag”都是“div”,从左至右对比两个2号节点的子节点。117.对比图5a和图5b中的两个3号节点,“tag”都是“li”,从左至右对比两个3号节点的子节点。但是3号节点都没有子节点。于是对比图5a和图5b中的两个4号节点,“tag”都是“li”,且两个4号节点都没有子节点。118.在3号节点和4号节点所在的层级中,图5a的2号节点的子节点数量是3(即步骤306中的n=3),图5b的2号节点的子节点数量为2(即步骤306中的m=2)。n》m因此将图5a中该层级中的第3个节点即5号节点加入至图5b的树结构中。119.为了防止序号冲突,将图5a中原来的5号节点加上图5b中第二树结构节点的总数量j(此处j=7)等于12。并将图5a中原来的5号节点加入至addednodes集合,addednodes集合现为{5}。120.此时图5a和图5b中2号节点所有子节点都已经被遍历。因此开始对比图5a中6号节点和图5b的5号节点,“tag”都是“div”,标签相同。则从左至右对比图5a中6号节点的子节点和图5b的5号节点的子节点。即开始对比图5a中7号节点与图5b的6号节点,二者“tag”不同,将图5b中的6号节点删除。将删除的图5b中的6号节点加入deletednodes集合,deletednodes集合现为{6}。同时将图5a中的7号节点以及其子节点8号节点加入图5b中。为了防止序号冲突,将图5a中原来的7号节点和8号节点序号进行改变,改变后为7+7=14,8+7=15,插入至原来图5b中6号节点的位置。并将图5a中的7号节点以及其子节点8号节点加入addednodes集合,addednodes集合现为{5,7,8}。121.在6号节点和7号节点所在的层级中,图5a中5号节点的子节点数量是1(即步骤306中的n=1),图5b中5号节点的子节点数量为2(即步骤306中的m=2)。n《m因此将本层级图5b中第2个节点即7号节点以及其子节点删除,此处删除的节点加入deletednodes集合,deletednodes集合现为{6,7}。此时所有节点都遍历完毕,对比结束。122.根据步骤314:图5b中节点数j为7,addednodes集合有3个元素,deletednodes集合有2个元素。图5a中第一树结构与图5b中第二树结构的相似度=(7-2)/(7+3)=0.5。相似度为也是0.5。与图4a和图4b中对应实施例的相似度结果一致,可见调换网页结构,并不会影响本技术实施例网页结构检测方法在相似度上的计算结果,证明该方法具有很强的稳定性和适用性。123.于一实施例中,还可以该方法还可以包括:统计第一树结构中每一层级中的节点数量,得到第一数组,统计第二树结构中每一层级中的节点数量,得到第二数组。将第一数组与第二数组中对应层级的节点数量相减,得到第一树结构与第二树结构的每一层级节点数量之间的差值数组。当差值数组中非零元素之间存在等比关系时,提示待处理网页更新后增加或删除了网页组件,其中,一个网页组件中包括至少一个网页元素。124.在本实施例中,可以根据步骤301和步骤302得到的两个树结构,分别统计每层的节点数量,将每层的节点数相减,来预测网页更新前后元素的变数量。例如第一树结构中每层节点数量为[a1,b1,c1,d1,e1],其中a1为第一层节点数量,b1为第二层节点数量,c1为第三层节点数量,d1为第四层节点数量,e1为第五层节点数量。第二树结构中每层节点数量为[a2,b2,c2,d2,e2],其中a2为第一层节点数量,b2为第二层节点数量,c2为第三层节点数量,d2为第四层节点数量,e2为第五层节点数量。若[a1,b1,c1,d1,e1]减去[a2,b2,c2,d2,e2]得到的差值数组[a2-a1,b2-b1,c2-c2,d2-d1,e2-e1]中的非零元素之间有等比关系,则说明待处理网页更新后,一定有网页组件被增加或者删除了。一个网页组件中包括至少一个网页元素,一个网页元素对应树结构中一个节点,因此,当上述非零元素之间存在等比关系时,说明网页更新后,树结构中的节点是以某种数量组合为单位增删的,如果能够知道被增删的网页组件包含的网页元素构成和数量,则可以采用a2-a1,b2-b1,c2-c2,d2-d1,e2-e1中非零元素的最大公约数可以推测为增删的网页元素数量。[0125]比如假设一个被增删的网页组件包含三个节点,该网页组件在树结构的第三层分布有一个节点,在树结构的第四层分布有两个节点,如果上述计算得到的差值数组中非零元素之间存在等比关系,比如更新后的树结构中第三层多了10节点,更新后的树结构中第四层多了20个节点,10和20的最大公约数为10,则可以推测网页更新后多了10个上述网页组件。[0126]例如,假设网页中一个按钮组件包括4个节点,其中在树结构的第8层分布有1个节点,在树结构的第9层分布有2个节点,在树结构的第10层分布有1个节点。图6a为本技术实施例的一个待测网页的第一版本的在交互界面的示意图,图6a中可以点击的该按钮组件有3个分比分别为:q1、q2、q3。采用步骤301-步骤302的方式对该第一版本的网页进行结构分析,得到第一树结构中的每一层节点数量为[1,4,3,7,13,32,13,3,9,3]。图6b为本技术实施例的一个待测网页更新后的第二版本的在交互界面的示意图,图6b中可以点击的该按钮组件有四个分比分别为:q1、q2、q3、q4。采用步骤301-步骤302的方式对该第二版本的网页进行结构分析,得到第二树结构中的每一层节点数量为[1,4,3,7,13,32,13,4,11,4],将两个树结构的每层节点数量进行相减。得到差值数组[0,0,0,0,0,0,0,1,2,1],表示待处理网页的树结构中第1层至第7层节点没发生变化。在第8层至第10层第二树结构相较于第一树结构分别多了1、2、1个节点,其最大公约数为1。因此可以推测,该待处理网页的第二版本相较于第一版本可能多了1个按钮组件。从图6a和图6b中对比可得,图6b中确实比图6a中多了1个可以点击的按钮组件q4。如此,可以将上述推测结果载入提示信息中,以告知用户网页更新的地方,对更改流程提供参考。[0127]请参看图7,其为本技术一实施例的网页结构检测装置700,该装置可应用于图1所示的电子设备1,以快速准确的检测到网页更新后网页结构的变化,进而确定是否需要调整对应的元素抓取流程,以保证元素抓取流程的稳定性。该装置包括:获取模块701、分析模块702和确定模块703,各个模块的原理关系如下:[0128]获取模块701,用于分别获取待处理网页的第一版本网页结构和第二版本网页结构;[0129]分析模块702,用于将第一版本网页结构与第二版本网页结构进行匹配分析,提取出第一版本网页结构与第二版本网页结构之间的差异节点集合;[0130]确定模块703,用于根据差异节点集合确定是否需要调整对待处理网页的元素抓取流程。[0131]于一实施例中,获取模块701用于:分别获取待处理网页的第一版本html代码和第二版本html代码;分别将第一版本html代码和第二版本html代码进行结构解析,得到第一版本html代码对应的第一树结构作为第一版本网页结构,得到第二版本html代码对应的第二树结构作为第二版本网页结构,其中每个网页元素作为树结构的节点。[0132]于一实施例中,分析模块702用于:将第二树结构变换成第一树结构,在变换过程中,将从第二树结构中删除的节点放入减少的节点集合,将第二树结构中增加的节点放入增加的节点集合,减少的增加的将增加的节点集合和减少的节点集合作为差异节点集合。[0133]于一实施例中,分析模块702用于:从树结构的根节点开始,按照节点分布次序,判断第一树结构与第二树结构相同层级中当前次序节点的标签是否相同;当第一树结构与第二树结构相同层级中当前次序节点的标签不相同时,从第二树结构中提取出当前次序节点和当前次序节点的子孙节点加入减少的节点集合中。[0134]于一实施例中,分析模块702用于:从树结构的根节点开始,按照节点分布次序,判断第一树结构与第二树结构相同层级中当前次序节点的标签是否相同;当第一树结构与第二树结构相同层级中当前次序节点的标签不相同时,从第一树结构中提取出当前次序节点和当前次序节点的子孙节点加入增加的节点集合中。[0135]于一实施例中,分析模块702还用于:当第一树结构与第二树结构相同层级中当前次序节点的标签相同时,判断第一树结构与第二树结构中下一次序节点的标签是否相同,其中下一次序节点为当前次序节点的子节点;当第一树结构与第二树结构中下一次序节点的标签不同时,从第二树结构中提取出下一次序节点和下一次序节点的子孙节点加入减少的节点集合中,并从第一树结构中提取出下一次序节点和下一次序节点的子孙节点加入增加的节点集合中;当第一树结构与第二树结构中下一次序节点的标签相同时,进入下一次序节点的子节点进行比对,直至遍历第一树结构和第二树结构的所有节点为止,得到最终的增加的节点集合和减少的节点集合。[0136]于一实施例中,分析模块702还用于:当第一树结构与第二树结构相同层级中当前次序节点的标签不相同时,判断在相同层级中第一树结构中的第一节点数量n与第二树结构中的第二节点数量m是否相同,其中n和m为正整数;当第一节点数量n小于第二节点数量m时,从第二树结构中提取出次序为第n+1至第m个节点、以及第n+1至第m个节点的子节点加入至减少的节点集合中。[0137]于一实施例中,分析模块702还用于:将第二树结构变换成第一树结构,在变换过程中,将第二树结构中增加的节点放入增加的节点集合,包括:当第一树结构与第二树结构相同层级中当前次序节点的标签不相同时,判断在相同层级中第一树结构中的第一节点数量n与第二树结构中的第二节点数量m是否相同,其中n和m为正整数;当第一节点数量n大于第二节点数量m时,从第一树结构中提取出次序为第m+1至第n个节点、以及第m+1至第n个节点的子节点加入至增加的节点集合中。[0138]于一实施例中,确定模块703用于:判断第一版本网页结构的元素抓取流程中涉及的目标节点是否在增加的节点集合中,其中,目标节点的类型为第一版本网页结构的元素抓取流程中需要用到的节点类型;当目标节点在增加的节点集合中时,判断目标节点是否在减少的节点集合中;当目标节点不在减少的节点集合中时,确定需要调整对待处理网页的元素抓取流程,发出提示信息。[0139]于一实施例中,确定模块703用于:当目标节点不在减少的节点集合中时,根据减少的节点集合和增加的节点集合计算第一树结构与第二树结构的相似度;发出网页结构变更提示,变更提示中包括:相似度和待处理网页对应的节点分布变更信息。[0140]于一实施例中,还包括:提示模块704,用于当目标节点在减少的节点集合中时,提示在从第一版本网页结构更换成第二版本网页结构时,目标节点对应的网页元素在待处理网页中的分布发生改变。[0141]于一实施例中,还包括:统计模块705,用于统计第一树结构中每一层级中的节点数量,得到第一数组,统计第二树结构中每一层级中的节点数量,得到第二数组;相减模块706,用于将第一数组与第二数组中对应层级的节点数量相减,得到第一树结构与第二树结构的每一层级节点数量之间的差值数组;提示模块704还用于当差值数组中非零元素之间存在等比关系时,发提示待处理网页更新后增删了网页组件,其中,一个网页组件中包括至少一个网页元素。[0142]于一实施例中,在将第二树结构变换成第一树结构的过程中,还包括:当有新增加到第二树结构中的节点时,调整第二树结构中新增加的节点的分布次序,以使新增加的节点的分布次序排列在第二树结构中原有节点的分布次序之后。[0143]上述网页结构检测装置700的详细描述,请参见上述实施例中相关方法步骤的描述。[0144]本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等。存储介质还可以包括上述种类的存储器的组合。[0145]虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
网页结构检测方法、设备和可读存储介质与流程
作者:admin
2022-08-31 08:47:49
495
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 室内草莓种植专用LED灯的制作方法
- 上一篇: 一种以天然石英制备低放射性球形硅微粉的方法与装置与流程