本发明涉及网络技术领域,尤其涉及一种网站断链检测方法及装置。
背景技术:
随着网络的逐步普及,网络已经成为人们生活中的重要组成部分。在浏览网站中的网页时,可能会出现网页显示错误等情况,一般我们将这些无法浏览的网页链接称为网站断链。对于一个网站而言,网站断链的数量是衡量网站质量好坏的重要指标。因此,通常会对网站进行网站断链的检测,以实现对网站的质量进行监控的效果。一般来说,在对网站进行网站断链检测时,会使用爬虫来模拟用户的访问行为,并根据网站链接的反馈信息确定所述网站链接是否为网站断链,从而实现网站断链的检测功能。
但是,在使用爬虫时,可能出现爬虫被网站禁用所导致爬虫功能异常的情况,从而导致使用爬虫对网站断链进行检测时,检测结果的准确率较低。为了排除爬虫被禁用的情况并确保爬虫功能正常,现有技术在使用爬虫检测网站断链时,一般先选择网站的一个链接作为基准链,当作爬取该网站其他链接时的参照物,例如,在使用爬虫对网站的其他网页链接进行爬取时,若反馈信息为异常信息,且对基准链进行爬取所反馈的信息不是异常信息时,则确定当前反馈异常信息的网页链接是网站断链。然而,在实际操作中,由于基准链并不是固定不变的,常常出现因为网站的改版或升级而发生变化,导致基准链失效,进而无法排除爬虫被禁用的情况并影响检测结果,从而导致网站断链检测的准确率较低。
技术实现要素:
鉴于上述问题,本发明提供一种网站断链检测方法及装置,主要目的在于提高网站断链检测的准确性。
为解决上述技术问题,第一方面,本发明提供了一种网站断链检测方法,该方法包括:
获取网站中反馈异常信息的网站链接;
判断所述反馈异常信息的网站链接的数量是否超过所述网站的断链阈值;
若未超过,则确定所述反馈异常信息的网站链接为网站断链;
若超过,则通过代理服务器对所述反馈异常信息的网站链接进行检测,当所述检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
可选的,所述通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息相同时,则确定所述反馈异常信息的网站链接为网站断链包括:
通过代理服务器获取地址信息;
通过所述地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取,并获取所述反馈异常信息的网站链接的反馈信息;
判断所述反馈异常信息的网站链接的反馈信息是否与所述异常信息相同;
若相同,则确定所述反馈异常信息的网站链接为网站断链。
可选的,所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则确定所述反馈异常信息的网站链接为网站断链包括:
在所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值之后,通过代理服务器获取地址信息;
通过所述地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取,并获取所述反馈异常信息的网站链接的反馈信息;
当所述反馈异常信息的网站链接的反馈信息与所述异常信息相同时,确定所述网站链接确实为网站断链。
可选的,所述方法还包括:
当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,确定所述网站链接不是网站断链;
输出提醒信息,所述提醒信息用于指示所述爬虫使用的原服务器地址已被所述网站禁用。
可选的,所述获取网站中反馈异常信息的网站链接包括:
使用爬虫对网站的全部链接逐层进行爬取;
根据所述爬虫逐层爬取的网站链接反馈的信息确定所述网站链接中反馈异常信息的网站链接;
计算所述反馈异常信息的网站链接数量。
可选的,所述异常信息为网页异常状态码。
第二方面,本发明还提供了一种网站断链检测装置,该装置包括:
获取单元,用于获取网站中反馈异常信息的网站链接;
判断单元,用于判断所述获取单元获取的反馈异常信息的网站链接的数量是否超过所述网站的断链阈值;
确定单元,用于若所述判断单元判断反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则确定所述反馈异常信息的网站链接为网站断链;
检测单元,用于若所述判断单元判断反馈异常信息的网站链接的数量超过所述网站的断链阈值,则通过代理服务器对所述反馈异常信息的网站链接进行检测;
所述确定单元,还用于当所述检测单元检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
可选的,所述确定单元包括:
第一获取模块,用于通过代理服务器获取地址信息;
第一爬取模块,用于通过所述第一获取模块获取的地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取;
所述第一获取模块,还用于获取所述反馈异常信息的网站链接的反馈信息;
判断模块,用于判断所述第一获取模块获取的反馈异常信息的网站链接的反馈信息是否与所述异常信息相同;
第一确定模块,用于若所述判断模块判断反馈异常信息的网站链接的反馈信息与所述异常信息相同,则确定所述反馈异常信息的网站链接为网站断链。
可选的,所述确定单元包括:
第二获取模块,用于在所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值之后,通过代理服务器获取地址信息;
第二爬取模块,用于通过所述第二获取模块获取的地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取;
所述第二获取模块,还用于获取所述反馈异常信息的网站链接的反馈信息;
第二确定模块,用于当所述第二获取模块获取的反馈异常信息的网站链接的反馈信息与所述异常信息相同时,确定所述网站链接确实为网站断链。
可选的,所述装置还包括:
所述确定单元,还用于当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,确定所述网站链接不是网站断链;
输出单元,用于输出提醒信息,所述提醒信息用于指示所述爬虫使用的原服务器地址已被所述网站禁用。
可选的,所述获取单元包括:
爬取模块,用于使用爬虫对网站的全部链接逐层进行爬取;
确定模块,用于根据所述爬取模块使用爬虫逐层爬取的网站链接反馈的信息确定所述网站链接中反馈异常信息的网站链接;
计算模块,用于计算所述确定模块确定的反馈异常信息的网站链接数量。
可选的,所述异常信息为网页异常状态码。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的网站断链检测方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的网站断链检测方法。
借由上述技术方案,本发明提供的网站断链检测方法及装置,对于现有技术在通过使用基准链来确定网站断链时,存在基准链失效的情况,使检测结果易受影响,从而导致网站断链检测的准确率较低的问题,本发明通过将反馈了异常信息的网站链接数量与断链阈值进行对比,可以确定当前爬虫的功能是否被禁用,从而在确定未超过断链阈值时确定爬虫功能正常,并在检测到异常信息时确定反馈异常信息的链接为网站断链,进而可以排除爬虫功能被网站禁用时对网站断链检测的影响,提高了网站断链检测的准确性。此外,当确定反馈异常信息的链接数量超过断链阈值时,通过代理服务器对反馈异常信息的网站链接进行检测,可以识别爬虫功能是否被禁用,进而在通过代理服务器检测的反馈信息与异常信息相同时,确定当前反馈异常信息的链接为网站断链,进一步的排除了爬虫被禁用对网站断链检测的影响,从而避免了对现有技术中由于基准链的失效响网站断链检测的问题,继而进一步提高了网站断链的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种网站断链检测方法流程图;
图2示出了本发明实施例提供的另一种网站断链检测方法流程图;
图3示出了本发明实施例提供的一种网站断链检测装置的组成框图;
图4示出了本发明实施例提供的另一种网站断链检测装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了提高网站断链检测的准确性,本发明实施例提供了一种网站断链检测方法,如图1所示,该方法包括:
101、获取网站中反馈异常信息的网站链接。
通常,在对一个网站中的网页链接进行访问时,网站链接会根据访问请求进行响应并向客户端发出反馈信息,当该网页链接不是网站断链时,所述网页可以正常访问并反馈正常的反馈信息。但当网页链接为网站断链时,由于网页链接不能被正常访问,则所述网页在进行响应时的反馈信息为异常信息,其中所述异常信息可以包括异常的网页数据或异常的网页状态码等不同方式的任意一种。此外,在对网站断链进行检测时,可以选择使用爬虫向网站的网页链接进行爬取,以模拟用户对所述网页链接的访问行为。需要说明的是,在本发明实施例中,主要以使用爬虫的方式来模拟用户的访问行为,但模拟用户访问行为的具体实施方式还可以选择其他方式,在此不做限定,可以根据需要进行选取。
因此,根据本步骤所述的方法,可以使用爬虫对网站进行爬取,并根据爬取后接收到的反馈信息,从中获取反馈异常信息的网站链接,得到反馈异常信息的网站链接。
102、判断所述反馈异常信息的网站链接的数量是否超过所述网站的断链阈值。
一般来说,在一个网站中含有大量的网页链接,同时,并不是所有的链接都是正常的链接,或多或少都会存在异常的网页链接,如网站断链等。对于这种情况,无论是网站的管理人员或者是网站的访问者,对于数量未超过阈值的网站断链保持一定程度上的容忍。也因此,衍生出了断链阈值的概念,所述的断链阈值可以看作是网站断链数量的“红线”,当超过了断链阈值,则意味了当前网站中断链数量过多并已经严重影响网站的用户体验,需要进行相关的处理。因此,网站的断链阈值可以作为在对网站断链的检测过程或分析过程中的参考依据。
根据本发明实施例所述的方法,由于采用爬虫来进行网站断链的检测。因此,当爬虫被所述网站禁用时,导致爬虫无法爬取目标网站中的链接,进而得到的反馈信息都是异常信息,从而影响网站断链检测结果的准确性。但事实上,网站的链接在不使用爬虫时都能正常访问。对于这种情况,为了验证网站是否对爬虫进行了禁用,需要根据本步骤所述的方法,在步骤101获取到所述反馈异常信息的网站链接后,统计所述反馈异常信息的网站链接的数量,然后将统计好的数量与该网站的断链阈值进行对比,判断是否超过断链阈值。
此外,当执行步骤102后,若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值时,则执行步骤103,步骤具体为:
103、确定所述反馈异常信息的网站链接为网站断链。
当所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值,说明当前爬虫的功能是正常的,并没有出现爬虫被禁用的情况。由于爬虫可以正常的爬取所述网站中网页的链接,从而证实了爬虫在爬取时反馈异常信息的网站链接确实是无法正常访问的链接,从而可以确定该链接为网站断链,保证了网站断链检测的准确性。
此外,当执行步骤102后,若判断所述反馈异常信息的网站链接的数量超过所述网站的断链阈值时,则执行步骤104,步骤具体为:
104、通过代理服务器对所述反馈异常信息的网站链接进行检测,当所述检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
在经步骤102判断后,若判断所述反馈异常信息的网站链接的数量超过所述网站的断链阈值,则说明当前爬虫可能被禁用,使爬虫爬取的网页所反馈的都是异常信息,从而导致反馈异常信息的链接数量超过了断链阈值。在此情况下,说明当前通过爬虫对网站断链的检测很可能是不准确的,需要通过其他的方式来对反馈异常信息的网站链接进行确认。在本步骤所述的方法中,通过使用代理服务器,重新对反馈异常信息的网站链接进行一次检测,并根据检测结果来确定反馈异常信息的网站链接是否为网站断链。由此,通过代理服务器对所述反馈异常信息的网站链接的检测,当反馈信息与之前的异常信息相同时,确定所述被检测的网站链接确实为无法正常访问的链接,由此可以确定当前反馈异常信息的网站链接为网站断链。
例如,在通过爬虫对网站a进行网站断链检测时,当反馈异常信息的链接数量为33个,断链阈值为5个,根据本步骤所述的方法,由于反馈异常信息的网站链接数量33个大于断链阈值5个,由此可以确定很可能是爬虫已被网站a禁用,因此这33个反馈异常信息的网站链接的检测很可能是不准确的。因此,通过代理服务器对这33个反馈异常信息的网站链接进行检测。当其中的网站链接a在经过代理服务器检测后,反馈的信息与之前反馈的异常信息相同,则说明网站链接a确实是不能访问的链接,因此可以确定网站链接a为网站断链。
本发明实施例提供的网站断链检测方法,对于现有技术在通过基准链来确定网站断链时,存在基准链失效的情况,使检测结果易受影响,从而导致网站断链检测的准确率较低的问题,本发明通过使用网站的断链阈值与反馈异常信息的网站链接数量进行对比,在数量未超阈值时确定爬虫功能正常,从而确定网站断链检测功能的正常;另一方面在数量超过阈值时,通过利用代理服务器来进行检测可以进一步的确定爬虫的功能是否正常,从而确定网站断链检测功能是否正常,因此相比于现有技术,本发明通过利用网站的断链阈值与代理服务器来验证爬虫的功能是否正常,能够排除爬虫功能被禁用的情况,从而避免了爬虫被网站禁用时出现检测结果不准确的情况,进而解决了现有技术因基准链不稳定,导致检测结果准确性较差的问题。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种网站断链检测方法,如图2所示。
201、获取网站中反馈异常信息的网站链接。
其中,本发明实施例所述的异常信息可以为网页异常状态码。所述网页异常状态码实际上是指网页状态码中用于指示网页状态异常的状态码。在用户端向网页发出访问请求时,网页会根据该请求进行反馈,其中包含用于表征所述网页是否能被正常访问的网页状态码。
网页状态码,又称做http状态码(httpstatuscode,译为http状态码)是一种用以表示网页服务器http响应状态的3位数字代码。它由rfc2616规范定义的,并得到rfc2518、rfc2817、rfc2295、rfc2774、rfc4918等规范扩展。本发明实施例所述的网页异常状态码则是所述网页状态码中表示网页异常的那部分状态码,例如,“404”、“503”等。
由此,根据本步骤所述的方法,首先,通过爬虫模拟用户的访问行为,对待检测的网站中的全部网页链接进行逐层的爬取。由于网站的网页链接在被爬取后会反馈相应的网页状态码,因此在爬取后获取该网站的链接反馈的全部状态码以及与所述网页状态码对应的链接。
然后,在获取到的网页状态码中筛选出网页异常状态码,在此需要的说明的是,由于网页状态码是根据固有规则编辑的三位数字,因此每个状态码都对应有固定的含义。由此,在本步骤所述的方法中,可以根据状态码的固有含义来筛选出代表网页异常的状态码,例如“404”代表访问请求失败,则可以作为本步骤所述的网页异常状态码进行筛选。并根据筛选出的网页异常状态码来确定反馈该码的网页链接,从而得到所述网站中反馈网页异常状态码的网站链接。
最后、对反馈异常网页状态码的网站链接进行计算,计算出所述反馈异常信息的网站链接数量。
通过本步骤所述的网站异常状态码来确定反馈信息是否为异常信息,可以简化对反馈信息的分析和确定过程,并减少了分析时间,进而提高了本发明实施例所述的网站断链检测的时间消耗,提高了检测效率。
202、判断所述反馈异常信息的网站链接的数量是否超过所述网站的断链阈值。
其中,本步骤所述的网站的断链阈值与前述实施例中步骤102中的描述相同,在此不做赘述。因此,根据本步骤所述的方法,在步骤201计算出反馈网页异常状态码的网站链接数量后,可以将该数量与断链阈值进行比较,并根据比较结果进行判断。
此外,在执行完步骤202之后,若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则执行步骤203、其步骤具体为:
203、确定所述反馈异常信息的网站链接为网站断链。
一般来说,在使用爬虫爬取网站链接时,可能存在被所述网站禁用的情况,即爬虫爬取该网站的任意链接所接收到的反馈都是网页异常状态码,而不是用爬虫对网站的链接进行访问得到的是正常的网页状态码。在此情况下,由于爬虫的功能实际上已经失效了,因此用爬虫来模拟用户得到的网页状态码已经是不准确的。
故而,当爬虫功能被所述网站禁用时,反馈网页异常状态码的网站链接数量一般都是要超过网站预置的断链阈值的。因此根据本步骤所述的方法,当判断反馈网页异常状态码的网站链接的数量未超过所述网站的断链阈值时,说明当前爬虫没有被禁用,功能正常。由此证明爬虫爬取的网站链接确实是存在异常的链接,进而可以确定所述反馈网页异常状态码的网站链接是网站断链。
此外,为了进一步的提高网站断链检测的准确性,在判断所述反馈网页异常状态码的网站链接的数量未超过所述网站的断链阈值之后,还可以通过代理服务器对所述反馈网页异常状态码的网站链接进行进一步的检测。
具体的,首先,可以通过代理服务器获取地址信息。因为,在使用爬虫时,爬虫都是基于一个地址信息来对网站中的网页链接进行爬取的。例如,使用某一个固定的ip地址来对目标网站的全部链接进行爬取。但是,在本发明实施例所述的方法中,主要的目的在于解决爬虫被禁用导致检测结果不准确的问题,而通常情况下,网站对爬虫的禁用主要是以封闭该爬虫的地址的方式进行的,即爬虫所在的地址无论进行什么操作行为,网站对该地址的请求都不进行正常的回应。因此,在本步骤中当确定未超过断链阈值时使用代理服务器为爬虫提供额外的地址,从而排除爬虫使用的地址被禁用的情况。
然后,通过所述地址信息,使用爬虫对所述反馈网页异常状态码的网站链接重新进行爬取。在被爬取后,被爬取的网页链接会反馈一个网页状态码,获取该网页状态码,即得到了反馈异常状态码的网站链接在被重新爬取后所反馈的网页状态码。
最后,将爬虫重新爬取后得到的网站状态码与之前爬取得到的网页异常状态码进行对比,当这两个状态码相同时,说明无论是使用爬虫原有的地址进行爬取还是使用代理服务器提供的地址进行爬取,所述网页链接反馈的都是网页异常状态码,因此,说明爬虫的功能是正常的,并确定所述网站链接确实为网站断链。
例如,当网站b的断链阈值为10,而目前获取的反馈异常状态码的网站链接分别为链接1,链接2,链接3,链接4,链接5,链接6,链接7时,共7个时,由于数量少于断链阈值10个,则根据步骤所述的方法,可以确定当前爬虫并未被禁用,并确定这7个链接是网站b的网站断链;但是,进一步的,在确定反馈异常状态码的链接数量7个少于断链阈值10个时,可以使用代理服务器为爬虫提供一个新地址,并重新爬取这7个链接。当未使用代理服务器提供的新地址时,使用爬虫爬取链接1得到的反馈为网页请求失败的网页异常状态码“404”,而重新爬取链接1时接收到的反馈的状态码为“404”与之前相同,则说明无论是使用爬虫原地址进行爬取,还是更换了代理服务器提供的新地址对链接1进行爬取的结果都是请求未响应的网页异常状态码“404”,由此可以确定爬虫并未被禁用,而该链接1也确实为网站断链。
由此,根据本步骤所述的方法,通过与断链阈值进行对比,能够确定爬虫功能正常,从而可以确保反馈网页异常状态码的网站链接确实为网站断链,从而排除了爬虫被禁用对检测结果的影响,提高了网站断链检测的准确性。并且,进一步的当反馈网页异常状态码的网页链接数量未超过断链阈值时,使用代理服务器对所述网页链接做进一步的检测,并在代理服务器提供的地址重新爬取所反馈的状态码与之前获取的网页异常状态码相同时来确定网站断链,进一步的排除了当前爬虫被禁用的情况,从而进一步的提高了网站断链检测的准确性。
此外,当执行步骤202后,若判断所述反馈异常信息的网站链接的数量超过所述网站的断链阈值时,则执行步骤204,步骤具体为:
204、通过代理服务器对所述反馈异常信息的网站链接进行检测,当所述检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
在执行步骤202所述的方法之后,当判断反馈网页异常状态码的网站链接数量超过了所述网站断链阈值时,说明当前的爬虫可能存在被所述网站禁用的情况,因此,为了确保网站断链检测的准确性,需要使用代理服务器对所述链接进行检测,其中,具体的检测过程可以为:首先,通过代理服务器获取地址信息,并以此地址信息作为爬虫重新爬取网站链接时的新地址。然后,通过确定的新地址对反馈网页异常状态码的网站链接进行重新爬取,并根据所述链接对爬取进行的反馈,获取该链接的反馈的网页状态码。之后,将所述重新爬取后反馈的网页状态码与之前爬取时反馈的网页异常状态码进行对比,并判断二者是否相同。最后,当这两个状态码相同时,说明网站链接在这两次爬取时反馈的都是网页异常状态码,则可以确定当前网站链接确实为网站断链。
例如,当网站c的断链阈值为5,而目前获取的反馈异常状态码的网站链接分别为链接a、链接b、链接c、链接d、链接e、链接f、链接g,共7个时,由于数量大于断链阈值5个,则根据步骤所述的方法,爬虫的功能可能已经被禁用了,因此检测结果可能是不准确的,进而需要使用额外的方式来进行检测,譬如可以使用代理服务来进行检测以确保网站断链的检测的准确性。当未使用代理服务器提供的新地址时,使用爬虫爬取链接b得到的反馈为服务器当前无法处理请求的网页异常状态码“503”,而重新爬取链接b时接收到的反馈的状态码为“503”与之前相同,则说明无论是使用爬虫原地址进行爬取,还是更换了代理服务器提供的新地址对链接b进行爬取的结果都是请求未响应的网页异常状态码“503”,由此可以确定该链接b为网站断链。
由此,根据本步骤所述的方法,确保了当超过断链阈值导致无法确定爬虫是否被禁用时,通过代理服务器来排除网站禁用爬虫功能对检测结果的干扰,提高了网站断链检测的准确性。
此外,在执行步骤202后,当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,则执行步骤205,步骤具体为:
205、当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,确定所述网站链接不是网站断链。
根据本发明实施例所述的方法,由于在使用代理服务器对反馈网页异常状态码的网站链接进行检测时,除了步骤204中确定两次爬取反馈的状态码相同之外,还存在不同的情况,即在之前爬虫使用原有的地址对链接进行爬取时反馈的是网页异常状态码,而在使用代理服务器提供的新地址后,反馈的是网页正常状态码,进而导致两次爬取所反馈的结果是不同的。
因此,根据本步骤所述的方法,存在一种情况,即通过代理服务器对所述反馈异常状态码的网站链接进行检测的反馈状态码与所述异常状态码不同的情况。而这种情况出现的原因如同步骤203所述,是由于网站对爬虫所在的地址进行了封闭操作,即无论该地址向网站发出何种操作行为的请求,网站都不进行响应。由此可知,当爬虫原地址被封闭后,在更换另一个地址时,是可以正常爬取的,从而确定所述反馈网页异常状态码的网站链接实际上是正常的,只是爬虫所在的原地址被禁用了而已,进而可以确定所述链接并不是网站断链。
206、输出提醒信息。
在步骤205确定了所述网站链接不是网站断链后,需要输出提醒信息,其中,该提醒信息主要用于向相关人员发出提示,提示爬虫当前使用的客户端地址已经被网站封闭,爬虫在该地址进行爬取的功能已被禁用,进而可以使相关人员进行相应的操作,例如,更换现有客户端的地址信息等。
因此,根据步骤205-206所述的方法,当确定反馈网页异常状态码的网站链接与使用代理服务器反馈的状态码不同时,可以确定所述网站链接不是网站断链,从而证实了爬虫所在的原地址已被封闭,爬虫在使用原地址进行爬取时功能实际上是被禁止的,从而确保了及时发现爬虫被禁用的情况,并且输出提示信息可以便于相关人员对爬虫及时调整,从而确保通过爬虫来实施网站断链检测时不会因其功能被禁用而出现误判的情况。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供了一种网站断链检测装置,用于对上述图1所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图3所示,该装置包括:获取单元31、判断单元32、确定单元33、检测单元34、其中
获取单元31,可以用于获取网站中反馈异常信息的网站链接。
判断单元32,可以用于判断所述获取单元31获取的反馈异常信息的网站链接的数量是否超过所述网站的断链阈值。
确定单元33,可以用于若所述判断单元32判断反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则确定所述反馈异常信息的网站链接为网站断链。
检测单元34,可以用于若所述判断单元32判断反馈异常信息的网站链接的数量超过所述网站的断链阈值,则通过代理服务器对所述反馈异常信息的网站链接进行检测。
所述确定单元33,还可以用于当所述检测单元34检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
进一步的,作为对上述图2所示方法的实现,本发明实施例还提供了另一种网站断链检测装置,用于对上述图2所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:获取单元41、判断单元42、确定单元43、检测单元44,其中
获取单元41,可以用于获取网站中反馈异常信息的网站链接;
判断单元42,可以用于判断所述获取单元41获取的反馈异常信息的网站链接的数量是否超过所述网站的断链阈值。
确定单元43,可以用于若所述判断单元42判断反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则确定所述反馈异常信息的网站链接为网站断链。
检测单元44,可以用于若所述判断单元42判断反馈异常信息的网站链接的数量超过所述网站的断链阈值,则通过代理服务器对所述反馈异常信息的网站链接进行检测。
所述确定单元43,还可以用于当所述检测单元44检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
进一步的,所述确定单元43包括:
第一获取模块431,可以用于通过代理服务器获取地址信息。
第一爬取模块432,可以用于通过所述第一获取模块431获取的地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取。
所述第一获取模块431,还可以用于获取所述反馈异常信息的网站链接的反馈信息。
判断模块433,可以用于判断所述第一获取模块431获取的反馈异常信息的网站链接的反馈信息是否与所述异常信息相同。
第一确定模块434,可以用于若所述判断模块433判断反馈异常信息的网站链接的反馈信息与所述异常信息相同,则确定所述反馈异常信息的网站链接为网站断链。
进一步的,所述确定单元43包括:
第二获取模块435,可以用于在所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值之后,通过代理服务器获取地址信息。
第二爬取模块436,可以用于通过所述第二获取模块435获取的地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取。
所述第二获取模块435,还可以用于获取所述反馈异常信息的网站链接的反馈信息。
第二确定模块437,可以用于当所述第二获取模块435获取的反馈异常信息的网站链接的反馈信息与所述异常信息相同时,确定所述网站链接确实为网站断链。
进一步的,所述装置还包括:
所述确定单元43,还可以用于当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,确定所述网站链接不是网站断链。
输出单元45,可以用于在所述确定单元43确定所述网站链接不是网站断链后,输出提醒信息,所述提醒信息用于指示所述爬虫使用的原服务器地址已被所述网站禁用。
进一步的,所述获取单元41包括:
爬取模块411,可以用于使用爬虫对网站的全部链接逐层进行爬取。
确定模块412,可以用于根据所述爬取模块411使用爬虫逐层爬取的网站链接反馈的信息确定所述网站链接中反馈异常信息的网站链接。
计算模块413,可以用于计算所述确定模块412确定的反馈异常信息的网站链接数量。
进一步的,所述异常信息为网页异常状态码。
本发明实施例提供的另一种网站断链检测方法及装置。对于现有技术在通过基准链来确定网站断链时,存在基准链失效的情况,使检测结果易受影响,从而导致网站断链检测的准确率较低的问题,本发明通过使用网站的断链阈值与反馈异常信息的网站链接数量进行对比,在数量未超阈值时确定爬虫功能正常,从而确定网站断链检测功能的正常;另一方面在数量超过阈值时,通过利用代理服务器来进行检测可以进一步的确定爬虫的功能是否正常,从而确定网站断链检测功能是否正常,因此相比于现有技术,本发明通过利用网站的断链阈值与代理服务器来验证爬虫的功能是否正常,能够排除爬虫功能被禁用的情况,从而避免了爬虫被网站禁用时出现检测结果不准确的情况,进而解决了现有技术因基准链不稳定,导致检测结果准确性较差的问题。此外,通过将网站状态码中的异常状态码作为异常信息,可以简化对反馈信息的分析和确定过程,并减少了反馈信息的分析时间,进而提高了网站断链检测的时间消耗,提高了检测效率。同时,通过与断链阈值进行对比,当反馈异常状态码的网站链接小于断链阈值时,能够确定爬虫功能正常,从而可以确保反馈网页异常状态码的网站链接确实为网站断链,从而排除了爬虫被禁用对检测结果的影响,提高了网站断链检测的准确性。并且,当反馈网页异常状态码的网页链接数量未超过断链阈值时,又使用代理服务器对所述网页链接做进一步的检测,并在代理服务器提供的地址重新爬取所反馈的状态码与之前获取的网页异常状态码相同时来确定网站断链,进一步的排除了当前爬虫被禁用的情况,进而提高了网站断链检测的准确性。另外,当反馈异常状态码的网站链接大于断链阈值时,通过使用代理服务器进行检测,可以确保在超过断链阈值导致无法确定爬虫是否被禁用时,使用代理服务器能够排除网站禁用爬虫功能对检测结果的干扰,提高了网站断链检测的准确性。此外,当通过代理服务器进行检测并在确定反馈网页异常状态码的网站链接与使用代理服务器反馈的状态码不同时,可以确定所述网站链接不是网站断链,同时输出提示信息,确保了及时发现爬虫被禁用的情况,以便于相关人员及时对爬虫进行调整,从而确保通过爬虫来实施网站断链检测时不会因其功能被禁用而出现误判的情况,进一步的提高了网站断链检测的准确性。
所述文本处理装置包括处理器和存储器,上述获取单元、判断单元、确定单元以及检测单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高网站断链检测的准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述网站断链检测方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述网站断链检测方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取网站中反馈异常信息的网站链接;判断所述反馈异常信息的网站链接的数量是否超过所述网站的断链阈值;若未超过,则确定所述反馈异常信息的网站链接为网站断链;若超过,则通过代理服务器对所述反馈异常信息的网站链接进行检测,当所述检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
进一步的,所述通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息相同时,则确定所述反馈异常信息的网站链接为网站断链包括:
通过代理服务器获取地址信息;
通过所述地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取,并获取所述反馈异常信息的网站链接的反馈信息;
判断所述反馈异常信息的网站链接的反馈信息是否与所述异常信息相同;
若相同,则确定所述反馈异常信息的网站链接为网站断链。
进一步的,所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则确定所述反馈异常信息的网站链接为网站断链包括:
在所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值之后,通过代理服务器获取地址信息;
通过所述地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取,并获取所述反馈异常信息的网站链接的反馈信息;
当所述反馈异常信息的网站链接的反馈信息与所述异常信息相同时,确定所述网站链接确实为网站断链。
进一步的,在若判断所述反馈异常信息的网站链接的数量超过所述网站的断链阈值之后,所述方法还包括:
当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,确定所述网站链接不是网站断链;
输出提醒信息,所述提醒信息用于指示所述爬虫使用的原服务器地址已被所述网站禁用。
进一步的,所述获取网站中反馈异常信息的网站链接包括:
使用爬虫对网站的全部链接逐层进行爬取;
根据所述爬虫逐层爬取的网站链接反馈的信息确定所述网站链接中反馈异常信息的网站链接;
计算所述反馈异常信息的网站链接数量。
进一步的,所述异常信息为网页异常状态码。
本发明实施例中的设备可以是服务器、pc、pad、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取网站中反馈异常信息的网站链接;判断所述反馈异常信息的网站链接的数量是否超过所述网站的断链阈值;若未超过,则确定所述反馈异常信息的网站链接为网站断链;若超过,则通过代理服务器对所述反馈异常信息的网站链接进行检测,当所述检测的反馈信息与所述异常信息相同时,确定所述反馈异常信息的网站链接为网站断链。
进一步的,所述通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息相同时,则确定所述反馈异常信息的网站链接为网站断链包括:
通过代理服务器获取地址信息;
通过所述地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取,并获取所述反馈异常信息的网站链接的反馈信息;
判断所述反馈异常信息的网站链接的反馈信息是否与所述异常信息相同;
若相同,则确定所述反馈异常信息的网站链接为网站断链。
进一步的,所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值,则确定所述反馈异常信息的网站链接为网站断链包括:
在所述若判断所述反馈异常信息的网站链接的数量未超过所述网站的断链阈值之后,通过代理服务器获取地址信息;
通过所述地址信息,使用爬虫对所述反馈异常信息的网站链接进行爬取,并获取所述反馈异常信息的网站链接的反馈信息;
当所述反馈异常信息的网站链接的反馈信息与所述异常信息相同时,确定所述网站链接确实为网站断链。
进一步的,在若判断所述反馈异常信息的网站链接的数量超过所述网站的断链阈值之后,所述方法还包括:
当通过代理服务器对所述反馈异常信息的网站链接进行检测的反馈信息与所述异常信息不同时,确定所述网站链接不是网站断链;
输出提醒信息,所述提醒信息用于指示所述爬虫使用的原服务器地址已被所述网站禁用。
进一步的,所述获取网站中反馈异常信息的网站链接包括:
使用爬虫对网站的全部链接逐层进行爬取;
根据所述爬虫逐层爬取的网站链接反馈的信息确定所述网站链接中反馈异常信息的网站链接;
计算所述反馈异常信息的网站链接数量。
进一步的,所述异常信息为网页异常状态码。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。