发明内容
本公开实施例至少提供一种代理网页检测方法及装置、设备以及存储介质,可以解决以上问题中的至少一种。
本公开实施例提供了一种代理网页检测方法,所述代理网页检测方法包括:
从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图;
按照预设页面划分方式,对所述第一页面图和所述第二页面图进行至少一次区块划分处理,得到所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图;
根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图在所属页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度;
若所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,所述从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图,包括:
向代理服务器和原站服务器分别发送针对待检测网页的页面加载请求,得到第一目标页面和第二目标页面;
按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图。
一种可选的实施方式中,所述按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图,包括:
按照预设的截图时机,对所述第一目标页面和第二目标页面分别进行截图处理,得到所述第一目标页面图对应的第一截图和所述第二目标页面图对应的第二截图;
对所述第一截图和所述第二截图进行预处理,得到处理后的所述第一目标页面对应的第一页面图,以及所述第二目标页面对应的第二页面图,其中,所述预处理包括图像亮度、图像内容结构以及图像对比度中的一项或者多项。
一种可选的实施方式中,在所述向代理服务器和原站服务器分别发送针对待检测网页的页面加载请求,得到第一目标页面和第二目标页面之后,所述方法包括:
获取加载所述第一目标页面时所述第一目标页面的第一页面状态码,以及加载所述第二目标页面时所述第二目标页面的第二页面状态码;
所述若所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求,包括:
若所述第一页面状态码和所述第二状态码一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,在所述向代理服务器和原站服务器分别发送针对待检测网页的页面加载请求,得到第一目标页面和第二目标页面之后,所述方法包括:
获取加载所述第一目标页面时所述第一目标页面中各页面内容的第一加载请求结果,以及加载所述第二目标页面时所述第二目标页面中各页面内容的第二加载请求结果;
所述若所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求,包括:
若所述第一加载请求结果和所述第二加载请求结果一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,在所述根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图针对页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度之前,所述方法包括:
针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度;
根据与所述预设页面划分方式对应的权重映射关系,确定该第一区块图对应的相似度权重,其中,所述权重映射关系为从页面图中得到的区块图与该区块图针对该页面图的相似度占比之前的映射关系。
一种可选的实施方式中,所述针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度,包括:
确定所述多个第一区块图中的至少一个第一目标区块图,以及所述多个第二区块图中与每个第一目标区块图对应的第二目标区块图,其中,所述第一目标区块图为包括有所述第一页面图中动态变化内容的区块图,所述第二目标区块图为包括有所述第二页面图中动态变化内容的区块图;
针对每个第一目标区块图,基于该第一目标区块图的图像内容与对应的第二目标区块图的图像内容,确定该第一目标区块图与对应的第二目标区块图之间的第二相似度;
将该第一目标区块图与对应的第二目标区块图之间的第二相似度,确定为该第一目标区块图与对应的第二目标区块图之间的第一相似度。
一种可选的实施方式中,所述针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度,还包括:
确定所述多个第一区块图中除所述至少一个第一目标区块图之外的每个其他第一区块图的信息摘要算法值,以及所述多个第二区块图中除至少一个第二目标区块图之外的每个其他第二区块图的信息摘要算法值;
针对每个其他第一区块图,基于该其他第一区块图的信息摘要算法值与对应的其他第二区块图的信息摘要算法值,确定该其他第一区块图与对应的其他第二区块图之间的第三相似度;
将该其他第一区块图与对应的其他第二区块图之间的第三相似度,确定为该其他第一区块图与对应的其他第二区块图之间的第一相似度。
一种可选的实施方式中,所述方法还包括:
若所述第一目标相似度小于第一预设相似度阈值,确定所述第一页面图的每个第一像素点的第一像素值与所述第二页面图的每个第二像素点的第二像素值;
根据所述第一像素点的第一像素值和与所述第一像素点对应的所述第二像素点的第二像素值相等的像素点的个数,确定所述第一页面图与所述第二页面图之间的第二目标相似度;
若所述第二目标相似度大于第二预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
本公开实施例还提供一种代理网页检测装置,所述装置包括:
页面图获取模块,用于从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图;
页面划分模块,用于按照预设页面划分方式,对所述第一页面图和所述第二页面图进行至少一次区块划分处理,得到所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图;
相似度计算模块,用于根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图在所属页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度;
第一代理检测模块,用于根据所述第一相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,所述页面图获取模块具体用于:
向代理服务器和原站服务器分别发送针对待检测网页的页面加载请求,得到第一目标页面和第二目标页面;
按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图。
一种可选的实施方式中,所述页面图获取模块在用于按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图时,具体用于:
按照预设的截图时机,对所述第一目标页面和第二目标页面分别进行截图处理,得到所述第一目标页面图对应的第一截图和所述第二目标页面图对应的第二截图;
对所述第一截图和所述第二截图进行预处理,得到处理后的所述第一目标页面对应的第一页面图,以及所述第二目标页面对应的第二页面图,其中,所述预处理包括图像亮度、图像内容结构以及图像对比度中的一项或者多项。
一种可选的实施方式中,所述装置还包括状态码获取模块,所述状态码获取模块用于:
获取加载所述第一目标页面时所述第一目标页面的第一页面状态码,以及加载所述第二目标页面时所述第二目标页面的第二页面状态码。
所述代理检测模块具体用于:
若所述第一页面状态码和所述第二状态码一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,所述装置还包括加载结果获取模块,所述加载结果获取模块用于:
获取加载所述第一目标页面时所述第一目标页面中各页面内容的第一加载请求结果,以及加载所述第二目标页面时所述第二目标页面中各页面内容的第二加载请求结果。
所述代理检测模块具体用于:
若所述第一加载请求结果和所述第二加载请求结果一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,所述装置还包括确定模块,所述确定模块用于:
针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度;
根据与所述预设页面划分方式对应的权重映射关系,确定该第一区块图对应的相似度权重,其中,所述权重映射关系为从页面图中得到的区块图与该区块图针对该页面图的相似度占比之前的映射关系。
一种可选的实施方式中,所述确定模块在用于针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度时,具体用于:
确定所述多个第一区块图中的至少一个第一目标区块图,以及所述多个第二区块图中与每个第一目标区块图对应的第二目标区块图,其中,所述第一目标区块图为包括有所述第一页面图中动态变化内容的区块图,所述第二目标区块图为包括有所述第二页面图中动态变化内容的区块图;
针对每个第一目标区块图,基于该第一目标区块图的图像内容与对应的第二目标区块图的图像内容,确定该第一目标区块图与对应的第二目标区块图之间的第二相似度;
将该第一目标区块图与对应的第二目标区块图之间的第二相似度,确定为该第一目标区块图与对应的第二目标区块图之间的第一相似度。
一种可选的实施方式中,所述确定模块在用于针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度时,具体用于:
确定所述多个第一区块图中除所述至少一个第一目标区块图之外的每个其他第一区块图的信息摘要算法值,以及所述多个第二区块图中除至少一个第二目标区块图之外的每个其他第二区块图的信息摘要算法值;
针对每个其他第一区块图,基于该其他第一区块图的信息摘要算法值与对应的其他第二区块图的信息摘要算法值,确定该其他第一区块图与对应的其他第二区块图之间的第三相似度;
将该其他第一区块图与对应的其他第二区块图之间的第三相似度,确定为该其他第一区块图与对应的其他第二区块图之间的第一相似度。
一种可选的实施方式中,所述装置还包括第二代理检测模块,所述第二代理检测模块用于:
若所述第一目标相似度小于第一预设相似度阈值,确定所述第一页面图的每个第一像素点的第一像素值与所述第二页面图的每个第二像素点的第二像素值;
根据所述第一像素点的第一像素值和与所述第一像素点对应的所述第二像素点的第二像素值相等的像素点的个数,确定所述第一页面图与所述第二页面图之间的第二目标相似度;
若所述第二目标相似度大于第二预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述代理网页检测方法中的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述代理网页检测方法中的步骤。
本公开实施例提供的代理网页检测的方法、装置、设备及存储介质,通过从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图;按照预设页面划分方式,对所述第一页面图和所述第二页面图进行多次区块划分处理,得到所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图;根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图在所属页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度;若所述第一相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
与现有技术中的通过人工或者计算页面的信息摘要算法值进行页面比对的方法相比,本公开实施方式,可以根据页面分治的思想,按照预设页面划分方式将页面划分成不同区块,通过区块的相似度和对页面的权重影响,来计算页面整体的相似度,可以降低页面上微小差异对页面相似度的影响,提高代理网页检测的精细度,从而有效提高页面比对的准确度,降低误判几率,而且可以实现全自动化页面比对,大大提高页面检测的效率,省时省力,有利于降低资源的过度消耗。
进一步,在本公开实施例中,可以通过预设截图时机,保证对两个页面截图的一致性,从而可以有效降低页面间的内容差异,提高所述代理服务器代理所述待检测网页与所述原站服务器的待检测网页的一致性,进而提高代理网页检测的准确性。
进一步,在本公开实施例中,除通过网页页面的相似度进行检测,还可以结合网页页面的状态码,和/或网页页面内容的加载请求结果,对网页页面进行比对,可以进一步提高网页页面比对的准确性和一致性。
进一步,在本公开实施例中,对于包括动态变化内容的区块图,可以单独计算动态内容图像的相似度,实现动态图像内容的单独比对,从而可以减小动态内容的动态差异对网页检测的影响,有利于提高代理网页检测的准确度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,现有对代理网页检测的方法主要是通过人工方式对各代理前后的网页进行比对,或者通过计算代理前后的网页的信息摘要算法值(Message DigestAlgorithm 5,MD5)值等方式对各代理前后的网页进行比对。但是,人工查看代理缓存前后的效果,不仅费时费力,并且随着页面的增多,所需人工也会成指数级增长,难以覆盖所有页面,而直接整体截图对比,截图中细微的内容也会产生较大影响,比对准确率低,存在较大的局限性,易出现误判。
基于上述研究,本公开提供了一种代理网页检测方法,该方法可以降低页面上微小差异对页面相似度的影响,提高代理网页检测的精细度,从而有效提高页面比对的准确度,降低误判几率,而且可以实现全自动化页面比对,大大提高页面检测的效率,省时省力,有利于降低资源的过度消耗。。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种代理网页检测方法进行详细介绍,本公开实施例所提供的代理网页检测方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该代理网页检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为终端设备为例对本公开实施例提供的活体检测方法加以说明。
请参阅图1,图1为本公开实施例提供的一种代理网页检测方法的流程图。如图1中所示,本公开实施例提供的代理网页检测方法,包括:
S101:从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图。
该步骤中,在需要对待检测网页进行检测评估时,可以从代理有所述待检测网页的不同服务器处去加载数据,以加载所述待检测网页对应的页面,继而可以获取到对应的第一页面图和第二页面图,用以进行第一页面图和第二页面图的相似度计算。
其中,代理服务器可以是指能够使代理用户从原站服务器中获取对应网站数据的服务器,即用户可以直接向原站服务器请求数据和信息等,也可以向代理服务器请求数据和信息,代理服务器可以向原站服务器请求数据和信息,通过代理服务器的中转作用以使用户可以获取数据和信息。
其中,从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图,可以是通过无头浏览器等工具,进行所述待检测网页的加载,以得到对应的第一页面图和第二页面图。其中,无头浏览器为没有用户图形界面的浏览器。
示例性的,当客户端通过无头浏览器向服务器A提交获取待检测网页请求后,服务器A可以从服务器B上获取待检测网页资源,并返回给客户,其中,服务器A称为“反向代理服务器”,服务器B称为反向代理服务器的“后端服务器”。
S102:按照预设页面划分方式,对所述第一页面图和所述第二页面图进行至少一次区块划分处理,得到所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图。
该步骤中,在得到所述第一页面图和所述第二页面图之后,为了可以针对页面进行更精细的比对,可以确定出与所述第一页面图和所述第二页面图对应的预设页面划分方式,然后按照所述预设页面划分方式分别对两个页面进行区块划分处理,以划分出所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图。
其中,针对不同的页面情况,可以设置有不同的页面划分方式,从而在需要对所述第一页面图和所述第二页面图进行划分时,可以根据所述第一页面图和/或所述第二页面图的具体情况,选择相应的所述预设页面划分方式。
所述预设页面划分方式,可以是根据页面中所包括的各功能区域进行划分、根据页面中所包括的不同重要程度的图像内容进行划分、根据页面中所包括的各图像内容在页面中的面积等,也可以是根据预设规格的网格划分、等间距划分等。
相应的,对页面图进行至少一次区块划分处理,可以指对页面图进行一次区块划分处理后,得到多个划分后的区块图,然后将划分得到的每个区块图作为页面图再进行区块划分处理,直至经过预设次数的划分处理,从而通过循环划分,得到多个区块图,即针对所述第一页面图,可以得到多个第一区块图,针对所述第二页面图,可以得到多个第二区块图。此外,每次进行区块划分处理时,所采用的预设页面划分方式可以是不同的,即可以根据每次进行划分时,页面图的具体情况选择相应的预设页面划分方式,也是可以采用相同的预设页面划分方式。
S103:根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图在所属页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度。
该步骤中,可以对第一页面图中每个第一区块图与第二页面图中对应的每个第二区块图计算第一相似度,并通过每个区块图在所在页面图中的相似度权重,将每个区块图的相似度根据其在页面图中的相似度权重映射到页面中,从而计算出所述第一页面图与所述第二页面图之间的第一目标相似度。
其中,所述第一区块图与对应的第二区块图之间的第一相似度的计算方法包括但不仅限于通过计算区块图的信息摘要算法值、欧氏距离、余弦距离、基于直方图方法、基于变量间相互依赖的量度的计算方法等。
其中,每个区块图对于页面图的相似度权重,可以是预先确定好的,例如针对不同的页面划分方式,相对应划分得到的区块,具有不同的相似度权要。示例性的,在实际使用中,例如可以根据区块图在页面图中所占面积、区块图的内容相对于页面图整体内容的重要程度、区块图中的内容相对于页面图中整体内容的影响程度等,设置每个区块图对于页面图的相似度权重。
其中,所述区块图对于页面图的相似度权重会伴随划分方式的不同而不同。
S104:若所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
该步骤中,在确定出所述第一页面图与所述第二页面图之间的第一目标相似度后,可以使用所述第一目标相似度与第一预设相似度阈值进行比较,以判断所述代理服务器代理所述待检测网页的效果是否满足页面代理要求,如果所述第一目标相似度大于第一预设相似度阈值,就可以确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
其中,所述第一预设相似度阈值,可以根据检测的精度需求进行设置,也可以根据所述待检测网页中内容的实际情况进行设置,例如,若页面中内容较复杂,划分的区块图较为精细,则可以相应的将所述第一预设相似度阈值调高等。
示例性的,若所述第一目标相似度大于95%,即判断所述代理服务器代理所述待检测网页的效果满足页面代理要求;若所述第一目标相似度小于95%,即判断所述代理服务器代理所述待检测网页的效果不满足页面代理要求。
本公开实施例提供的代理网页检测方法,可以降低页面上微小差异对页面相似度的影响,提高代理网页检测的精细度,从而有效提高页面比对的准确度,降低误判几率,而且可以实现全自动化页面比对,大大提高页面检测的效率,省时省力,有利于降低资源的过度消耗。
请参阅图2,图2为本公开实施例提供的另一种代理网页检测方法的流程图。如图2中所示,本公开实施例提供的另一种代理网页检测方法,包括:
S201:从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图。
S202:按照预设页面划分方式,对所述第一页面图和所述第二页面图进行至少一次区块划分处理,得到所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图。
S203:针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度。
该步骤中,针对每个第一区块图与对应的第二区块图,可以根据两个区块图的图像内容的一致程度来确定该第一区块图与对应的第二区块图之间的第一相似度。
其中,图像内容的一致程度受到代理服务器和原站服务器的影响,若图像内容的一致程度越高,则该第一区块与对应的第二区块之间的第一相似度越高;若图像内容的一致程度越低,则该第一区块与对应的第二区块之间的第一相似度越低。
S204:根据与所述预设页面划分方式对应的权重映射关系,确定该第一区块图对应的相似度权重。
其中,所述权重映射关系为从页面图中得到的区块图与该区块图针对该页面图的相似度占比之间的映射关系。
其中,按照不同的预设页面划分方式划分得到区块图,其针对页面图的相似度权重不同。
示例性的,例如在按照不同面积关系进行划分区块时,可以理解的是,区块的面积越大,其相对页面图的相似度权重越大,再例如按照不同图像内容的重要程度进行划分区块时,可以理解的是,区块图中所包括的图像内容越重要,相对页面图的相似度权重越大,在此不一一例举。
S205:根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图在所属页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度。
S206:若所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
其中步骤S202,S205,S206,可以参照步骤S102至步骤S104的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。
接下来,结合具体实施方式进一步对本公开实施例进行说明。
一种可选的实施方式中,步骤201包括:
向代理服务器和原站服务器分别发送针对待检测网页的页面加载请求,得到第一目标页面和第二目标页面。
该步骤中,通过浏览器向代理服务器和原站服务器分别发送待检测网页的页面加载请求,所述代理服务器和原站服务器在接收到页面加载请求后,会对请求作出响应,以反馈所述待检测网页的网页数据,从而可以通过无头浏览器等工具,渲染出第一目标页面和第二目标页面。
按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图。
该步骤中,在渲染出第一目标页面和第二目标页面后,按照预设的截图时机对第一目标页面和第二目标页面进行截图,得到与第一目标页面对应的第一页面图和与第二目标页面对应的第二页面图。
其中,预设的截图时机,可以是指预先设定好的截图时间或者截图时序等时机,例如对于静态页面,在渲染完毕后,同时截图即可,对于页面中包含轮播图等动态内容的,一般页面在渲染完毕后会从头动态展示动态内容,因此,针对两个页面,可以按照设置好的时序,从各自渲染完毕的时刻开始,在预设时序时进行截图,确保第一目标页面和第二目标页面的轮播图为同一张图片,即保证截图后的内容是保持一致的。
其中,截图时机设置的方式包括但不限于以下方式:通过设置定时器对目标页面进行截图。
一种可选的实施方式中,所述按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图,包括:
按照预设的截图时机,对所述第一目标页面和第二目标页面分别进行截图处理,得到所述第一目标页面图对应的第一截图和所述第二目标页面图对应的第二截图。
该步骤中,在得到所述第一目标页面图和所述第二目标页面图后,可以按照预设的截图时机,对所述第一目标页面和第二目标页面分别进行截图处理,得到所述第一目标页面图对应的第一截图和所述第二目标页面图对应的第二截图。
其中,所述预设的截图时机可以确保所述第一截图和所述第二截图的一致。
对所述第一截图和所述第二截图进行预处理,得到处理后的所述第一目标页面对应的第一页面图,以及所述第二目标页面对应的第二页面图,其中,所述预处理包括图像亮度、图像内容结构以及图像对比度中的一项或者多项。
该步骤中,由于从不同的服务器获取的待检测网页,在页面渲染完成后,得到的目标页面图在图像亮度、图像内容结构以及图像对比度等方面会有不同,所以在得到所述第一目标页面图对应的第一截图和所述第二目标页面图对应的第二截图后,需要对第一截图和第二截图进行图像预处理,以保证两个页面上的一些客观因素相同。
其中,图像预处理可以根据以下方式来完成:根据当前图像的灰度信息或者直方图均衡化。
示例性的,不同服务器在不同终端或不同浏览器上渲染得到的同一待检测网页的目标页面图,其目标页面图的图像亮度以及图像对比度会有不同,需要对目标页面图进行图像预处理。
一种可选的实施方式中,步骤S203包括:
确定所述多个第一区块图中的至少一个第一目标区块图,以及所述多个第二区块图中与每个第一目标区块图对应的第二目标区块图,其中,所述第一目标区块图为包括有所述第一页面图中动态变化内容的区块图,所述第二目标区块图为包括有所述第二页面图中动态变化内容的区块图。
该步骤中,对于所述多个第一区块图中存在特殊情况的区块图,可以进行特别的相似度计算,具体的,可以从所述多个第一区块图中筛选出特殊的区块图,即筛选出至少一个第一目标区块图,相应的,从所述多个第二区块图中也可以至少选出与每个第一目标区块图对应的第二目标区块图,所述与第一目标区块图对应的第二目标区块图,可以是具有同一位置、同一图像内容、同一功能区或者属于同一框架的两个区块图。
其中,所述第一目标区块图为包括有所述第一页面图中动态变化内容的区块图,所述第二目标区块图为包括有所述第二页面图中动态变化内容的区块图。
针对每个第一目标区块图,基于该第一目标区块图的图像内容与对应的第二目标区块图的图像内容,确定该第一目标区块图与对应的第二目标区块图之间的第二相似度。
该步骤中,在确定出第一目标区块图和对应的第二目标区块图后,可以根据两个区块图中具体的图像内容,对两个区块图的相似度进行计算,以得到两个区块图之间的第二相似度。
在具体应用中,确定该第一目标区块图与对应的第二目标区块图之间的第二相似度,可以是通过直方图计算图片的相似度、通过汉明距离计算、通过图片的余弦距离及通过图片结构度量计算等方式。
将该第一目标区块图与对应的第二目标区块图之间的第二相似度,确定为该第一目标区块图与对应的第二目标区块图之间的第一相似度。
该步骤中,在确定该第一目标区块图与对应的第二目标区块图之间的第二相似度后,就可以将所述第二相似度作为所述第一目标区块图与对应的第二目标区块图之间的第一相似度,也就是相应的第一区块图与对应的第二区块图之间的第一相似度。
上述为针对第一区块图和第二区块图中存在特殊情况的区块图的相似度计算,可以减少相似度计算的误差。相应的,对于一般情况的区块图,也可以采用简单方式或者常规方式计算相似度。
一种可选的实施方式中,步骤S203还包括:
确定所述多个第一区块图中除所述至少一个第一目标区块图之外的每个其他第一区块图的信息摘要算法值,以及所述多个第二区块图中除至少一个第二目标区块图之外的每个其他第二区块图的信息摘要算法值。
该步骤中,针对所述多个第一区块图和所述多个第二区块图中的普通区块图,即从所述多个第一区块图中可以筛选出除所述至少一个第一目标区块图之外的每个其他第一区块图,以及从所述多个第二区块图中筛选出除至少一个第二目标区块图之外的其他第二区块图。
针对每个其他第一区块图,基于该其他第一区块图的信息摘要算法值与对应的其他第二区块图的信息摘要算法值,确定该其他第一区块图与对应的其他第二区块图之间的第三相似度。
该步骤中,针对筛选出的其他第一区块图和其他第二区块图,可以通过计算其他第一区块图和与其对应的其他第二区块图的信息摘要算法值的方式,来计算两者之间的第三相似度。
其中,图片的信息摘要算法值的计算方法可以为以下方法:将图片转换成二进制数组,利用汇编语言编写信息摘要算法程序,计算出图片的信息摘要算法值。
将该其他第一区块图与对应的其他第二区块图之间的第三相似度,确定为该其他第一区块图与对应的其他第二区块图之间的第一相似度。
该步骤中,在确定其他第一区块图与对应的其他第二区块图之间的第三相似度后,可以将所述第三相似度作为其他第一区块图与对应的其他第二区块图之间的第一相似度,也就是相应的第一区块图与对应的第二区块图之间的第一相似度。
示例性的,请参阅图3,图3为本公开实施例所提供的一种确定第一区块图与对应的第二区块图之间的第一相似度方法的流程图。
如图3中所示,在预设的页面划分方式和截图时机下,对第一目标页面图和第二目标页面图进行多次区块划分和截图后,得到第一区块图和第二区块图,将第一区块图分类为第一目标区块图和其他第一区块图,同时将第二区块图分类为第二目标区块图和其他第二区块图,单独通过图像内容计算第一目标区块图与对应的第二目标区块图之间的第二相似度,并通过信息摘要算法值确定其他第一区块图和其他第二区块图的确定第三相似度,最后即可得到每个第一区块图与对应的第二区块图之间的第一相似度。
一种可选的实施方式中,在步骤201之后包括:
获取加载所述第一目标页面时所述第一目标页面的第一页面状态码,以及加载所述第二目标页面时所述第二目标页面的第二页面状态码。
该步骤中,在获取所述第一目标页面和所述第二目标页面的同时,会分别获取两个页面加载的第一页面状态码和第二页面状态码,所述第一页面状态码和所述第二页面状态码可以作为判断所述代理服务器代理所述待检测网页的效果是否满足页面代理要求的附加条件之一。
相应的,步骤S206包括:
若所述第一页面状态码和所述第二状态码一致,且所述第一相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
该步骤中,将所述第一页面状态码和所述第二页面状态码进行对比,当对比结果一致时,且所述第一目标相似度大于第一预设相似度阈值,则可以确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
其中,所述第一预设相似度阈值可以是根据实际需要进行设置。
一种可选的实施方式中,在步骤201之后还包括:
获取加载所述第一目标页面时所述第一目标页面中各页面内容的第一加载请求结果,以及加载所述第二目标页面时所述第二目标页面中各页面内容的第二加载请求结果。
该步骤中,在加载和渲染所述第一目标页面和所述第二目标页面的同时,针对各页面中内容的渲染,会有相应的渲染结果,即第一加载请求结果和第二加载请求结果,所述第一加载请求结果和第二加载请求结果可以作为判断所述代理服务器代理所述待检测网页的效果是否满足页面代理要求的附加条件之一。
相应的,步骤S206包括:
若所述第一加载请求结果和所述第二加载请求结果一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
该步骤中,将所述第一加载请求结果和所述第二加载请求结果进行对比,当对比结果一致时,且所述第一目标相似度大于第一预设相似度阈值,则可以确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
上述是以状态码和加载请求结果,分别与相似度结合进行页面检测,为了进一步提高检测的准确率,还可以是将三者结合在一起,一同作为页面代理检测的因素。
示例性的,请参阅图4,图4为本公开实施例所提供的一种页面检测的结果判断示意图。如图4中所示,当需要对代理服务器和原站服务器中的待检测网页检测时,对于从代理服务器和原站服务器处分别加载的所述第一页面和所述第二页面,可以结合第一页面图和第二页面图之间的第一目标相似度,和加载第一页面和第二页面时产生的第一加载请求结果和的第二加载请求结果,以及渲染各页面中内容产生的加载请求结果,结合三者的判断情况,如果加载请求结果一致,状态码一致,并且第一目标相似度大于预设阈值,既可以认为所述代理服务器代理所述待检测网页的效果满足页面代理要求,否则,有任何一种情况不满足的话,则认为所述代理服务器代理所述待检测网页的效果不满足页面代理要求。
一种可选的实施方式中,在步骤103之后还包括:
若所述第一目标相似度小于第一预设相似度阈值,确定所述第一页面图的每个第一像素点的第一像素值与所述第二页面图的每个第二像素点的第二像素值。
针对每一幅图像都可以由若干个像素点组成,若两幅图像在相同位置上的像素点的颜色相同,也即,该像素点的像素值相同时,则称它们在该位置具有相同的像素点。
因此,为了更准确地计算代理服务器和原站服务器处分别获取的待检测网页的第一页面图和第二页面图之间的相似度,在所述第一目标相似度小于第一预设相似度阈值的情况下,可以通过第一页面图和第二页面图之间对应的像素点的像素值,进一步判断代理服务器代理所述待检测网页的效果满足页面代理要求。
根据所述第一像素点的第一像素值和与所述第一像素点对应的所述第二像素点的第二像素值相等的像素点的个数,确定所述第一页面图与所述第二页面图之间的第二目标相似度。
两幅图像的相似度可以定义为相同像素点数占总像素点数的百分比。因此,可以通过根据所述第一像素点的第一像素值和与所述第一像素点对应的所述第二像素点的第二像素值相等的像素点的个数,确定相同像素点数占总像素点数的百分比,进而确定所述第一页面图与所述第二页面图之间的第二目标相似度。
若所述第二目标相似度大于第二预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
本公开实施例提供的代理网页检测方法,可以降低页面上微小差异对页面相似度的影响,提高代理网页检测的精细度,从而有效提高页面比对的准确度,降低误判几率,而且可以实现全自动化页面比对,大大提高页面检测的效率,省时省力,有利于降低资源的过度消耗。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与代理网页检测方法对应的代理网页检测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述代理网页检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图5至图6,图5为本公开实施例所提供的一种代理网页检测装置的示意图,图6为本公开实施例所提供的另一种代理网页检测装置的示意图。
如图5中所示,本公开实施例提供的代理网页检测装置500,包括:
页面图获取模块510,用于从代理服务器和原站服务器处分别获取待检测网页的第一页面图和第二页面图。
页面划分模块520,用于按照预设页面划分方式,对所述第一页面图和所述第二页面图进行至少一次区块划分处理,得到所述第一页面图的多个第一区块图,和所述第二页面图的多个第二区块图。
相似度计算模块530,用于根据每个第一区块图与对应的第二区块图之间的第一相似度,以及每个区块图在所属页面图的相似度权重,确定所述第一页面图与所述第二页面图之间的第一目标相似度。
第一代理检测模块540,用于对比所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,所述页面图获取模块510具体用于:
向代理服务器和原站服务器分别发送针对待检测网页的页面加载请求,得到第一目标页面和第二目标页面;
按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图。
一种可选的实施方式中,所述页面图获取模块510在用于按照预设的截图时机,分别确定所述第一目标页面对应的第一页面图和所述第二目标页面对应的第二页面图时,具体用于:
按照预设的截图时机,对所述第一目标页面和第二目标页面分别进行截图处理,得到所述第一目标页面图对应的第一截图和所述第二目标页面图对应的第二截图;
对所述第一截图和所述第二截图进行预处理,得到处理后的所述第一目标页面对应的第一页面图,以及所述第二目标页面对应的第二页面图,其中,所述预处理包括图像亮度、图像内容结构以及图像对比度中的一项或者多项。
一种可选的实施方式中,如图6中所示,所述代理网页检测装置500还包括状态码获取模块550,所述状态码获取模块550用于:
获取加载所述第一目标页面时所述第一目标页面的第一页面状态码,以及加载所述第二目标页面时所述第二目标页面的第二页面状态码。
所述第一代理检测模块540具体用于:
若所述第一页面状态码和所述第二状态码一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,如图6中所示,所述代理网页检测装置500还包括加载结果获取模块560,所述加载结果获取模块560用于:
获取加载所述第一目标页面时所述第一目标页面中各页面内容的第一加载请求结果,以及加载所述第二目标页面时所述第二目标页面中各页面内容的第二加载请求结果。
所述第一代理检测模块540具体用于:
若所述第一加载请求结果和所述第二加载请求结果一致,且所述第一目标相似度大于第一预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
一种可选的实施方式中,如图6中所示,所述代理网页检测装置500还包括确定模块570,所述确定模块570用于:
针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度;
根据与所述预设页面划分方式对应的权重映射关系,确定该第一区块图对应的相似度权重,其中,所述权重映射关系为从页面图中得到的区块图与该区块图针对该页面图的相似度占比之前的映射关系。
一种可选的实施方式中,所述确定模块570在用于针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度时,具体用于:
确定所述多个第一区块图中的至少一个第一目标区块图,以及所述多个第二区块图中与每个第一目标区块图对应的第二目标区块图,其中,所述第一目标区块图为包括有所述第一页面图中动态变化内容的区块图,所述第二目标区块图为包括有所述第二页面图中动态变化内容的区块图;
针对每个第一目标区块图,基于该第一目标区块图的图像内容与对应的第二目标区块图的图像内容,确定该第一目标区块图与对应的第二目标区块图之间的第二相似度;
将该第一目标区块图与对应的第二目标区块图之间的第二相似度,确定为该第一目标区块图与对应的第二目标区块图之间的第一相似度。
一种可选的实施方式中,所述确定模块570在用于针对每个第一区块图,基于该第一区块图的图像内容和对应的第二区块图的图像内容,确定该第一区块图与对应的第二区块图之间的第一相似度时,具体用于:
确定所述多个第一区块图中除所述至少一个第一目标区块图之外的每个其他第一区块图的信息摘要算法值,以及所述多个第二区块图中除至少一个第二目标区块图之外的每个其他第二区块图的信息摘要算法值;
针对每个其他第一区块图,基于该其他第一区块图的信息摘要算法与对应的其他第二区块图的信息摘要算法值,确定该其他第一区块图与对应的其他第二区块图之间的第三相似度;
将该其他第一区块图与对应的其他第二区块图之间的第三相似度,确定为该其他第一区块图与对应的其他第二区块图之间的第一相似度。
一种可选的实施方式中,如图6中所示,所述代理网页检测装置500还包括第二代理检测模块580,所述第二代理检测模块580用于:
若所述第一目标相似度小于第一预设相似度阈值,确定所述第一页面图的每个第一像素点的第一像素值与所述第二页面图的每个第二像素点的第二像素值;
根据所述第一像素点的第一像素值和与所述第一像素点对应的所述第二像素点的第二像素值相等的像素点的个数,确定所述第一页面图与所述第二页面图之间的第二目标相似度;
若所述第二目标相似度大于第二预设相似度阈值,确认所述代理服务器代理所述待检测网页的效果满足页面代理要求。
本公开实施例提供的代理网页检测装置,可以降低页面上微小差异对页面相似度的影响,提高代理网页检测的精细度,从而有效提高页面比对的准确度,降低误判几率,而且可以实现全自动化页面比对,大大提高页面检测的效率,省时省力,有利于降低资源的过度消耗。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图7所示,为本申请实施例提供的电子设备700的结构示意图,包括处理器710、存储器720、和总线730。其中,存储器720用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器710中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器710通过内存721与外部存储器722进行数据交换,当电子设备700运行时,处理器710与存储器720之间通过总线730通信,使得处理器710能够执行上述方法实施例中所述的代理网页检测方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的代理网页检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的一种代理网页检测方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的代理网页检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。