死链检测方法及装置与流程

文档序号:14481204阅读:308来源:国知局

本发明涉及互联网技术领域,尤其涉及一种死链检测方法及装置。



背景技术:

目前,网络蜘蛛爬虫等抓取到的链接数据,被频繁地用于各种需求的数据分析,例如用户需求分析、网络流量检测等。然而,网络蜘蛛爬虫抓取到的链接数据存在大量死链,会导致数据分析效率差,且容易导致数据分析程序崩溃。基于此,目前的死链检测方法主要是通过人工甄别死链,检测效率低,成本高,准确度差,且检测时间长,不能满足后续的数据分析需求。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种死链检测方法,用于解决现有技术中死链检测效率差、准确度差、且时间长的问题。

本发明的第二个目的在于提出一种死链检测装置。

本发明的第三个目的在于提出另一种死链检测装置。

本发明的第四个目的在于提出一种非临时性计算机可读存储介质。

本发明的第五个目的在于提出一种计算机程序产品。

为达上述目的,本发明第一方面实施例提出了一种死链检测方法,包括:

获取待检测的链接地址;

获取所述链接地址对应的资源;

对所述资源进行解析和渲染,获取所述链接地址对应的网页的内容和/或状态;

根据所述网页的内容和/或状态,判断所述链接地址是否为死链。

进一步的,所述获取所述链接地址对应的资源之前,还包括:

获取所述链接地址的数量;

在所述链接地址的数量为至少两个时,确定所述链接地址的优先级;

根据所述链接地址的优先级,对所述链接地址进行排序;

对应的,所述获取所述链接地址对应的资源,包括:

按照排序顺序,依次获取排序在前的链接地址对应的资源。

进一步的,所述根据所述网页的内容和/或状态,判断所述链接地址是否为死链,包括:

判断所述网页的内容中是否存在满足死链条件的内容;和/或,

判断所述网页的状态是否满足所述死链条件;

在所述网页的内容中存在满足死链条件的内容,和/或,所述网页的状态满足所述死链条件时,确定所述网页对应的链接地址为死链。

进一步的,所述网页的内容包括:所述网页中显示的文字内容,和/或,对所述网页中的图片或者视频进行识别得到的文字内容。

进一步的,所述确定所述链接地址的优先级,包括:

根据所述链接地址中的域名和/或服务器名,确定所述链接地址的优先级。

本发明实施例的死链检测方法,通过获取待检测的链接地址;获取链接地址对应的资源;对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态;根据网页的内容和/或状态,判断链接地址是否为死链,从而能够模拟浏览器获取各链接地址对应的网页的内容和/或状态,根据网页的内容和/或状态判断链接地址是否为死链,准确度高,时间短,且效率高,能够满足后续基于链接数据的数据分析需求。

为达上述目的,本发明第二方面实施例提出了一种死链检测装置,包括:

获取模块,用于获取待检测的链接地址;

所述获取模块,还用于获取所述链接地址对应的资源;

解析渲染模块,用于对所述资源进行解析和渲染,获取所述链接地址对应的网页的内容和/或状态;

判断模块,用于根据所述网页的内容和/或状态,判断所述链接地址是否为死链。

进一步的,所述的装置还包括:确定模块和排序模块;

所述获取模块,还用于获取所述链接地址的数量;

所述确定模块,用于在所述链接地址的数量为至少两个时,确定所述链接地址的优先级;

所述排序模块,用于根据所述链接地址的优先级,对所述链接地址进行排序;

对应的,所述获取模块具体用于,按照排序顺序,依次获取排序在前的链接地址对应的资源。

进一步的,所述判断模块具体用于,

判断所述网页的内容中是否存在满足死链条件的内容;和/或,

判断所述网页的状态是否满足所述死链条件;

在所述网页的内容中存在满足死链条件的内容,和/或,所述网页的状态满足所述死链条件时,确定所述网页对应的链接地址为死链。

进一步的,所述网页的内容包括:所述网页中显示的文字内容,和/或,对所述网页中的图片或者视频进行识别得到的文字内容。

进一步的,所述确定模块具体用于,

根据所述链接地址中的域名和/或服务器名,确定所述链接地址的优先级。

本发明实施例的死链检测装置,通过获取待检测的链接地址;获取链接地址对应的资源;对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态;根据网页的内容和/或状态,判断链接地址是否为死链,从而能够模拟浏览器获取各链接地址对应的网页的内容和/或状态,根据网页的内容和/或状态判断链接地址是否为死链,准确度高,时间短,且效率高,能够满足后续基于链接地址的数据分析需求。

为达上述目的,本发明第三方面实施例提出了另一种死链检测装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的死链检测方法。

为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的死链检测方法。

为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种死链检测方法,所述方法包括:

获取待检测的链接地址;

获取所述链接地址对应的资源;

对所述资源进行解析和渲染,获取所述链接地址对应的网页的内容和/或状态;

根据所述网页的内容和/或状态,判断所述链接地址是否为死链。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种死链检测方法的流程示意图;

图2为本发明实施例提供的另一种死链检测方法的流程示意图;

图3为本发明实施例提供的一种死链检测装置的结构示意图;

图4为本发明实施例提供的另一种死链检测装置的结构示意图;

图5为本发明实施例提供的另一种死链检测装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的死链检测方法及装置。

图1为本发明实施例提供的一种死链检测方法的流程示意图。如图1所示,该死链检测方法包括以下步骤:

s101、获取待检测的链接地址。

本发明提供的死链检测方法的执行主体为死链检测装置,死链检测装置可以为硬件设备,例如服务器等,或者硬件设备上安装的软件。其中,待检测的链接地址例如可以为统一资源定位符(uniformresourcelocator,url)。

本实施例中,待检测的链接地址可以为网络蜘蛛爬虫等抓取到的链接数据中的链接地址,死链检测装置可以与网络蜘蛛爬虫等工具交互,获取网络蜘蛛爬虫等抓取到的链接数据,或者,死链检测装置可以与数据分析工具交互,获取链接数据,其中,数据分析工具为基于网络蜘蛛爬虫等抓取到的链接数据进行各种需求分析的工具。

s102、获取链接地址对应的资源。

本实施例中,死链检测装置可以根据链接地址向相应的服务器发送请求,获取链接地址对应的资源。

s103、对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态。

本实施例中,死链检测装置可以模拟浏览器、参考浏览器的解析渲染方法或者集成浏览器的解析模块,对链接地址对应的资源进行解析和渲染,获取链接地址对应的网页显示界面;对网页显示界面进行分析,获取网页中的内容和/或状态。其中,网页的内容可以包括:网页中显示的文字内容,和/或,对网页中的图片或者视频进行识别得到的文字内容。

s104、根据网页的内容和/或状态,判断链接地址是否为死链。

本实施例中,死链检测装置执行步骤104的过程具体可以为,判断网页的内容中是否存在满足死链条件的内容;和/或,判断网页的状态是否满足死链条件;在网页的内容中存在满足死链条件的内容,和/或,网页的状态满足死链条件时,确定网页对应的链接地址为死链。

其中,死链条件中可以包括:至少一个词语,以及至少一个状态等。词语例如“视频加载失败”、“加载不成功”、“网页打不开”、“无法显示此网页”等。状态例如“404notfound”、“403forbidden”等。

进一步的,步骤104之后,所述的方法还可以包括:在确定链接地址为死链时,删除所述链接地址,避免后续进行数据分析时进行所述链接地址对应的资源进行分析,浪费资源。

本实施例中,根据网页的内容和/或状态判断链接地址是否为死链,能够检测出根据链接地址对应的资源进行检测所检测不出的部分问题,例如视频加载不成功的问题等,从而能够更准确的检测出死链,进一步提高死链检测的准确度。

本发明实施例的死链检测方法,通过获取待检测的链接地址;获取链接地址对应的资源;对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态;根据网页的内容和/或状态,判断链接地址是否为死链,从而能够模拟浏览器获取各链接地址对应的网页的内容和/或状态,根据网页的内容和/或状态判断链接地址是否为死链,准确度高,时间短,且效率高,能够满足后续基于链接地址的数据分析需求。

图2为本发明实施例提供的另一种死链检测方法的流程示意图,如图2所示,在图1所示实施例的基础上,步骤102之前,所述的方法还可以包括以下步骤:

s105、获取链接地址的数量。

s106、在链接地址的数量为至少两个时,确定链接地址的优先级。

本实施例中,在链接地址的数量很多时,上述死链检测方法可能未及时检测出部分比较重要的链接地址是否为死链,从而影响后续基于链接地址的数据分析的效率,为了保证部分比较重要的链接地址及时被检测,死链检测装置可以先确定链接地址的优先级,根据链接地址的优先级进行排序,按照排序顺序进行死链检测,从而保证比较重要的链接地址能够及时被检测,进而提高后续基于链接地址的数据分析的效率。

其中,死链检测装置可以根据链接地址中的域名和/或服务器名,查询预设的优先级列表,确定链接地址的优先级。其中优先级列表中可以保存有域名对应的优先级,或者服务器名对应的优先级,或者域名+服务器名对应的优先级。

另外,需要说明的是,本实施例中,死链检测装置也可以在链接地址的数量超过预设数量阈值时,确定链接地址的优先级,根据优先级进行排序以及死链检测。预设数量阈值可以根据实际需要进行设定。

s107、根据链接地址的优先级,对链接地址进行排序。

对应的,步骤102具体可以为,按照排序顺序,依次获取排序在前的链接地址对应的资源。也就是说,死链检测装置可以按照排序顺序,依次对各个链接地址进行死链检测。其中,排序顺序可以为按照链接地址的优先级从高到低进行排序。

本发明实施例的死链检测方法,通过获取待检测的链接地址;获取链接地址的数量;在链接地址的数量为至少两个时,确定链接地址的优先级;根据链接地址的优先级,对链接地址进行排序;按照排序顺序,依次获取排序在前的链接地址对应的资源;对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态;根据网页的内容和/或状态,判断链接地址是否为死链,从而能够模拟浏览器获取各链接地址对应的网页的内容和/或状态,根据网页的内容和/或状态判断链接地址是否为死链,准确度高,时间短,且效率高,能够满足后续基于链接地址的数据分析需求。

图3为本发明实施例提供的一种死链检测装置的结构示意图。如图3所示,包括:获取模块31、解析渲染模块32和判断模块33;

其中,获取模块31,用于获取待检测的链接地址;

所述获取模块31,还用于获取所述链接地址对应的资源;

解析渲染模块32,用于对所述资源进行解析和渲染,获取所述链接地址对应的网页的内容和/或状态;

判断模块33,用于根据所述网页的内容和/或状态,判断所述链接地址是否为死链。

本发明提供的死链检测装置可以为硬件设备,例如服务器等,或者硬件设备上安装的软件。其中,待检测的链接地址例如可以为统一资源定位符(uniformresourcelocator,url)。

本实施例中,待检测的链接地址可以为网络蜘蛛爬虫等抓取到的链接数据中的链接地址,死链检测装置可以与网络蜘蛛爬虫等工具交互,获取网络蜘蛛爬虫等抓取到的链接数据,或者,死链检测装置可以与数据分析工具交互,获取链接数据,其中,数据分析工具为基于网络蜘蛛爬虫等抓取到的链接数据进行各种需求分析的工具。

本实施例中,死链检测装置可以模拟浏览器、参考浏览器的解析渲染方法或者集成浏览器的解析模块,对链接地址对应的资源进行解析和渲染,获取链接地址对应的网页显示界面;对网页显示界面进行分析,获取网页中的内容和/或状态。其中,网页的内容可以包括:网页中显示的文字内容,和/或,对网页中的图片或者视频进行识别得到的文字内容。

本实施例中,判断模块具体可以用于,判断所述网页的内容中是否存在满足死链条件的内容;和/或,判断所述网页的状态是否满足所述死链条件;在所述网页的内容中存在满足死链条件的内容,和/或,所述网页的状态满足所述死链条件时,确定所述网页对应的链接地址为死链。

进一步的,死链检测装置还可以用于,在确定链接地址为死链时,删除所述链接地址,避免后续进行数据分析时进行所述链接地址对应的资源进行分析,浪费资源。

本实施例中,根据网页的内容和/或状态判断链接地址是否为死链,能够检测出根据链接地址对应的资源进行检测所检测不出的部分问题,例如视频加载不成功的问题等,从而能够更准确的检测出死链,进一步提高死链检测的准确度。

本发明实施例的死链检测装置,通过获取待检测的链接地址;获取链接地址对应的资源;对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态;根据网页的内容和/或状态,判断链接地址是否为死链,从而能够模拟浏览器获取各链接地址对应的网页的内容和/或状态,根据网页的内容和/或状态判断链接地址是否为死链,准确度高,时间短,且效率高,能够满足后续基于链接地址的数据分析需求。

进一步的,结合参考图4,在图3所示实施例的基础上,所述的装置还可以包括:确定模块34和排序模块35;

所述获取模块31,还用于获取所述链接地址的数量;

所述确定模块34,用于在所述链接地址的数量为至少两个时,确定所述链接地址的优先级;

所述排序模块35,用于根据所述链接地址的优先级,对所述链接地址进行排序;

对应的,所述获取模块31具体用于,按照排序顺序,依次获取排序在前的链接地址对应的资源。

本实施例中,在链接地址的数量很多时,上述死链检测装置可能未及时检测出部分比较重要的链接地址是否为死链,从而影响后续基于链接地址的数据分析的效率,为了保证部分比较重要的链接地址及时被检测,死链检测装置可以先确定链接地址的优先级,根据链接地址的优先级进行排序,按照排序顺序进行死链检测,从而保证比较重要的链接地址能够及时被检测,进而提高后续基于链接地址的数据分析的效率。

其中,死链检测装置可以根据链接地址中的域名和/或服务器名,查询预设的优先级列表,确定链接地址的优先级。其中优先级列表中可以保存有域名对应的优先级,或者服务器名对应的优先级,或者域名+服务器名对应的优先级。

另外,需要说明的是,本实施例中,死链检测装置也可以在链接地址的数量超过预设数量阈值时,确定链接地址的优先级,根据优先级进行排序以及死链检测。预设数量阈值可以根据实际需要进行设定。

进一步的,所述确定模块具体用于,根据所述链接地址中的域名和/或服务器名,确定所述链接地址的优先级。

本发明实施例的死链检测装置,通过获取待检测的链接地址;获取链接地址的数量;在链接地址的数量为至少两个时,确定链接地址的优先级;根据链接地址的优先级,对链接地址进行排序;按照排序顺序,依次获取排序在前的链接地址对应的资源;对资源进行解析和渲染,获取链接地址对应的网页的内容和/或状态;根据网页的内容和/或状态,判断链接地址是否为死链,从而能够模拟浏览器获取各链接地址对应的网页的内容和/或状态,根据网页的内容和/或状态判断链接地址是否为死链,准确度高,时间短,且效率高,能够满足后续基于链接地址的数据分析需求。

图5为本发明实施例提供的另一种死链检测装置的结构示意图。该死链检测装置包括:

存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。

处理器1002执行所述程序时实现上述实施例中提供的死链检测方法。

进一步地,死链检测装置还包括:

通信接口1003,用于存储器1001和处理器1002之间的通信。

存储器1001,用于存放可在处理器1002上运行的计算机程序。

存储器1001可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

处理器1002,用于执行所述程序时实现上述实施例所述的死链检测方法。

如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponent,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。

处理器1002可能是一个中央处理器(centralprocessingunit,简称为cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者是被配置成实施本发明实施例的一个或多个集成电路。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的死链检测方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1