一种链接检测方法及装置与流程

文档序号:27237815发布日期:2021-11-03 18:42阅读:113来源:国知局
一种链接检测方法及装置与流程

1.本发明涉及链接分析技术领域,尤其涉及一种链接检测方法及装置。


背景技术:

2.目前通过动态页面展示信息时,主要是利用动态页面中的链接从服务器获取数据,并将所获取的数据渲染到动态页面中以完成信息展示。为保证动态页面能正常展示信息,需检测动态页面中失效或错误的链接(也称为死链)并对其进行处理。
3.现有检测死链的方式为:由检测人员一一点击动态页面中的链接来进行人工检测,但是,由于动态页面的数量较多且动态页面中也包含了大量的链接,检测人员需要耗费大量的时间去检测死链,检测时间较长,并且检测人员在检测死链的过程中容易出现纰漏,检测准确率较低。


技术实现要素:

4.有鉴于此,本发明实施例提供一种链接检测方法及装置,以解决现有检测死链的方式存在的检测时间长和检测准确率低等问题。
5.为实现上述目的,本发明实施例提供如下技术方案:本发明实施例第一方面公开一种链接检测方法,所述方法包括:获取预设的网址列表,所述网址列表中包含至少一个待检测网址;提取所述待检测网址中的超链接并据此构建相应的超链接列表;访问所述超链接列表中的各个所述超链接,并获取各个所述超链接的响应结果;根据各个所述超链接的响应结果,确定包含所述超链接列表中的无效链接的最终死链列表。
6.优选的,所述根据各个所述超链接的响应结果,确定包含所述超链接列表中的无效链接的最终死链列表,包括:针对每个所述超链接,若所述超链接的响应结果符合预设的死链判断条件,确定所述超链接为无效链接,所述死链判断条件基于指示超链接为无效链接的响应状态、响应内容和响应访问的时间设置得到;利用所确定的所有所述无效链接,确定最终死链列表。
7.优选的,所述利用所确定的所有所述无效链接,确定最终死链列表,包括:利用所确定的所有所述无效链接,确定初检死链列表;访问所述初检死链列表中的各个所述无效链接并获取相应的响应结果;从所述初检死链列表中剔除响应结果不符合所述死链判断条件的所述无效链接,返回执行访问所述初检死链列表中的各个所述无效链接并获取相应的响应结果这一步骤,直至执行次数等于预设次数,确定剔除响应结果不符合所述死链判断条件的所述无效链接后的所述初检死链列表为最终死链列表。
8.优选的,针对每个所述超链接,若所述超链接的响应结果符合预设的死链判断条
件,确定所述超链接为无效链接,包括:针对每个所述超链接,解析所述超链接的响应结果得到对应的响应状态、响应内容和响应访问的时间;针对每个所述超链接,若所述超链接的响应状态不满足预设响应状态,或者,若所述超链接响应访问的时间大于预设时间,或者,若所述超链接的响应内容为预设响应内容,确定所述超链接为无效链接。
9.优选的,所述提取所述待检测网址中的超链接并据此构建相应的超链接列表,包括:根据所述待检测网址获取相应的页面代码;从所述待检测网址对应的页面代码中提取超链接并据此构建超链接列表。
10.优选的,根据各个所述超链接的响应结果,确定包含所述超链接列表中的无效链接的最终死链列表之后,还包括:将所述最终死链列表发送至目标对象。
11.优选的,根据各个所述超链接的响应结果,确定包含所述超链接列表中的无效链接的最终死链列表之后,还包括:将所述最终死链列表中不属于预设黑名单的无效链接发送至目标对象。
12.本发明实施例第二方面公开一种链接检测装置,所述装置包括:获取单元,用于获取预设的网址列表,所述网址列表中包含至少一个待检测网址;提取单元,用于提取所述待检测网址中的超链接并据此构建相应的超链接列表;处理单元,用于访问所述超链接列表中的各个所述超链接,并获取各个所述超链接的响应结果;确定单元,用于根据各个所述超链接的响应结果,确定包含所述超链接列表中的无效链接的最终死链列表。
13.优选的,所述确定单元具体用于:针对每个所述超链接,若所述超链接的响应结果符合预设的死链判断条件,确定所述超链接为无效链接,所述死链判断条件基于指示超链接为无效链接的响应状态、响应内容和响应访问的时间设置得到;利用所确定的所有所述无效链接,确定最终死链列表。
14.优选的,所述确定单元包括:确定模块,用于利用所确定的所有所述无效链接,确定初检死链列表;访问模块,用于访问所述初检死链列表中的各个所述无效链接并获取相应的响应结果;处理模块,用于从所述初检死链列表中剔除响应结果不符合所述死链判断条件的所述无效链接,执行所述访问模块直至执行次数等于预设次数,确定剔除响应结果不符合所述死链判断条件的所述无效链接后的所述初检死链列表为最终死链列表。
15.基于上述本发明实施例提供的一种链接检测方法及装置,该方法为:获取预设的网址列表,网址列表中包含至少一个待检测网址;提取待检测网址中的超链接并据此构建相应的超链接列表;访问超链接列表中的各个超链接,并获取各个超链接的响应结果;根据各个超链接的响应结果,确定包含超链接列表中的无效链接的最终死链列表。本方案中,获取预先构建的包含待检测网址的网址列表,提取待检测网址中的超链接并构建超链接列
表。访问超链接列表中的各个超链接得到对应的响应结果,根据所得到的响应结果确定最终死链列表,最终死链列表中包含超链接列表中的无效链接。不需要由检测人员一一点击链接来确定无效链接,降低检测死链的时间和提高检测死链的准确率。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
17.图1为本发明实施例提供的一种链接检测方法的流程图;图2为本发明实施例提供的确定最终死链列表的流程图;图3为本发明实施例提供的一种链接检测装置的结构框图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
20.由背景技术可知,目前依赖于检测人员一一点击动态页面中的链接来检测死链,但是动态页面的数量较多且动态页面中也包含了大量的链接,检测人员需要耗费大量的时间去检测死链,检测时间较长,并且检测人员在检测死链的过程中容易出现纰漏,检测准确率较低。
21.因此,本发明实施例提供一种链接检测方法及装置,获取预先构建的包含待检测网址的网址列表,提取待检测网址中的超链接并构建超链接列表。访问超链接列表中的各个超链接得到对应的响应结果,根据所得到的响应结果确定最终死链列表,最终死链列表中包含超链接列表中的无效链接。不需要由检测人员一一点击链接来确定无效链接,以降低检测死链的时间和提高检测死链的准确率。
22.需要说明的是,本发明实施例中的无效链接为页面中失效或错误的链接,也就是说,本发明实施例中的无效链接即为死链。
23.可以理解的是,死链出现的原因包括但不仅限于:由于网站服务器设置错误和文件夹名称修改等原因而导致某一链接变成死链。死链具体分为协议死链和内容死链两种类型。
24.参见图1,示出了本发明实施例提供的一种链接检测方法的流程图,该链接检测方法包括:
步骤s101:获取预设的网址列表。
25.需要说明的是,预先设置网址列表,网址列表中包含至少一个待检测网址。
26.在具体实现步骤s101的过程中,获取预先设置的网址列表,并获取该网址列表中的待检测网址。
27.在一些具体实施例中,可按照预设的更新周期和更新规则,更新网址列表中的待检测网址。
28.需要说明的是,待检测网址对应一个页面,每个页面中存在多个超链接,该超链接可以是统一资源定位符(uniform resource locator,url)。
29.步骤s102:提取待检测网址中的超链接并据此构建相应的超链接列表。
30.在具体实现步骤s102的过程中,针对每个待检测网址,根据该待检测网址获取相应的页面代码,并利用指定解析工具(例如jsoup)解析待检测网址对应的页面代码,提取得到该待检测网址中的超链接并据此构建超链接列表,超链接列表包含该待检测网址中的所有超链接。
31.需要说明的是,每个待检测网址的所有超链接可构建得到一个超链接列表,即一个超链接列表包含一个待检测网址的所有超链接;同理,也可利用所有待检测网址的各个超链接构建一个超链接列表,即超链接列表中包含了所有待检测网址的各个超链接;在此对于构建超链接列表的方式不做限定。
32.利用指定解析工具提取待检测网址中的超链接的具体实现方式为:请求访问待检测网址获取得到相应的页面代码,利用指定解析工具解析页面代码,从页面代码的目标标签中获取得到待检测网址中的超链接。
33.例如:请求访问待检测网址获取得到相应的页面代码,假设获取得到的页面代码为超文本标记语言(hyper text markup language,html),利用jsoup解析该页面代码,从html的“<a href=
””
/>”这一标签里的href属性中获取待检测网址中的超链接,以及从html的img标签里的src属性中获取待检测网址中的超链接。
34.步骤s103:访问超链接列表中的各个超链接,并获取各个超链接的响应结果。
35.在具体实现步骤s103的过程中,针对每个超链接列表,逐个访问该超链接列表中的各个超链接,获取各个超链接的响应结果。
36.需要说明的是,由于每个待检测网址对应的页面中会存在大量的超链接(例如存在上千个超链接),也就是每个超链接列表中会包含大量的超链接,因此,在访问超链接列表中的各个超链接时,可采用多线程的方式访问超链接列表中的各个超链接,以进一步降低检测死链的时间。
37.步骤s104:根据各个超链接的响应结果,确定包含超链接列表中的无效链接的最终死链列表。
38.在具体实现步骤s104的过程中,针对每个超链接,若超链接的响应结果符合预设的死链判断条件,确定该超链接为无效链接,死链判断条件基于指示超链接为无效链接的响应状态、响应内容和响应访问的时间设置得到。利用所确定的所有无效链接,确定最终死链列表。
39.在一些具体实施例中,确定超链接为无效链接的具体实现方式为:针对每个超链接,解析超链接的响应结果得到对应的响应状态、响应内容和响应访问的时间;针对每个超
链接,若该超链接的响应状态不满足预设响应状态,或者,若该超链接响应访问的时间大于预设时间,或者,若该超链接的响应内容为预设响应内容,确定该超链接为无效链接。
40.综上,死链判断条件的具体内容为:响应状态不满足预设响应状态,响应访问的时间大于预设时间,响应内容为预设响应内容。
41.例如:对于某一超链接,若该超链接的响应状态不是200状态、301状态和302状态,则表示该超链接为无效链接,也就是说,如果一个超链接的响应状态不是200状态、301状态和302状态,则可判定该超链接为无效链接。即200状态、301状态和302状态为上述提及的预设响应状态。
42.需要说明的是,200状态表示访问超链接时所发送的请求被成功执行,301状态表示超链接对应的网页被永久性转移至另一url,302状态表示所访问的超链接被重定向到新的地址。
43.进一步需要说明的是,在通过超链接的响应状态判断是否为无效链接所使用的200状态、301状态和302状态仅用于举例说明,在实际应用中,可根据实际情况确定具体所使用的预设响应状态。
44.又例如:对于某一超链接,若该超链接响应访问的时间大于30秒,则表示该超链接为无效链接。
45.又例如:假设超链接的响应内容包含响应页、播放页和专辑页等中的一种或多种,对于某一超链接,若该超链接的响应内容出现以下3种情况中的任意一种情况,则表示该超链接为无效链接,前述3种情况为:响应页为404页,播放页中的视频不可播放,专辑页中无视频。也就是说,上述提及的预设响应内容为:响应页为404页,播放页中的视频不可播放,专辑页中无视频。
46.需要说明的是,对于响应状态不满足预设响应状态的超链接,该超链接为无效链接且无效链接的类型为协议死链;对于响应访问的时间大于预设时间的超链接,该超链接为无效链接且无效链接的类型为协议死链;对于响应内容为预设响应内容的超链接,该超链接为无效链接且无效链接的类型为内容死链。
47.通过以上方式,从各个超链接列表中确定得到无效链接,利用确定得到的所有无效链接,确定最终死链列表,该最终死链列表中包含了各个超链接列表中的无效链接(也就是死链)。
48.具体来说,确定得到各个超链接列表中的无效链接后,通过死链接口汇总所有无效链接,进而可确定得到最终死链列表。
49.在一些具体实施例中,在确定得到无效链接后,可以对无效链接进行分析,得到该无效链接对应的死链原因和对应的死链信息,死链信息可指示无效链接为哪一待检测网址中的超链接。
50.需要说明的是,由于网络问题会影响确定无效链接的准确性,因此在确定最终死链列表的过程中,可以对各个无效链接进行多次重复检测,利用多次重复检测后所得到的各个无效链接确定最终死链列表,多次重复检测的具体实现方式详见以下本发明实施例图2中的内容。
51.优选的,在确定得到最终死链列表后,将最终死链列表发送至目标对象,例如:预先配置运营人员的邮箱地址,在确定得到最终死链列表后,将至少携带最终死链列表的告
警邮件发送至运营人员的邮箱地址,以提醒运营人员第一时间处理最终死链列表中的无效链接(即死链)。
52.在实际应用中,运营人员会认为检测出来的某些无效链接并不是死链,因此预先配置预设黑名单,该预设黑名单中包含了运营人员认为不是死链的超链接。优选的,将最终死链列表中不属于预设黑名单的无效链接发送至目标对象,也就是说,对于最终死链列表中属于预设黑名单的无效链接,并不会将属于预设黑名单的无效链接发送至目标对象。
53.需要说明的是,上述步骤s101至步骤s104可以周期性执行(周期时间可自定义),周期性检测各个待检测网址中的无效链接。
54.在本发明实施例中,获取预先构建的包含待检测网址的网址列表,提取待检测网址中的超链接并构建超链接列表。访问超链接列表中的各个超链接得到对应的响应结果,根据所得到的响应结果确定最终死链列表,最终死链列表中包含超链接列表中的无效链接。不需要由检测人员一一点击链接来确定无效链接,降低检测死链的时间和提高检测死链的准确率。
55.上述本发明实施例图1步骤s104中涉及的确定最终死链列表的过程,参见图2,示出了本发明实施例提供的确定最终死链列表的流程图,包括以下步骤:步骤s201:利用所确定的所有无效链接,确定初检死链列表。
56.在具体实现步骤s201的过程中,利用从各个超链接列表中确定的所有无效链接,构建初检死链列表。
57.步骤s202:访问初检死链列表中的各个无效链接并获取相应的响应结果。
58.在具体实现步骤s202的过程中,访问初检死链列表中的各个无效链接,并得到初检死链列表中的各个无效链接对应的响应结果。
59.例如:以多线程的方式访问初检死链列表中的各个无效链接,得到初检死链列表中的各个无效链接对应的响应结果。
60.步骤s203:从初检死链列表中剔除响应结果不符合死链判断条件的无效链接。
61.需要说明的是,由于网络问题的影响,在检测无效链接时可能出现死链误判,即初检死链列表中的某些无效链接可能并不是死链。由上述本发明实施例图1步骤s104中的内容可知,无效链接为符合死链判断条件的超链接,不符合死链判断条件的超链接不是无效链接,具体如何判断超链接是否为无效链接的方式可参见上述本发明实施例图1步骤s104中的内容,在此不再赘述。
62.因此在具体实现步骤s203的过程中,从初检死链列表中,剔除响应结果不符合死链判断条件的无效链接;也就是说,将初检死链列表中误判为无效链接的超链接(也就是不符合死链判断条件的超链接)从该初检死链列表中剔除。
63.步骤s204:判断执行步骤s202的次数是否大于等于预设次数;若执行步骤s202的次数小于预设次数,返回执行步骤s202;若执行步骤s202的次数大于或等于预设次数,执行步骤s205。
64.在具体实现步骤s204的过程中,判断执行步骤s202的次数是否大于预设次数,若执行步骤s202的次数小于预设次数,再次访问初检死链列表中的各个无效链接并获取相应的响应结果(也就是再次执行步骤s202),并再次从初检死链列表中剔除响应结果不符合死链判断条件的无效链接(也就是再次执行步骤s203);若执行步骤s202的次数大于等于预设
次数,将最后一次剔除响应结果不符合死链判断条件的无效链接后的初检死链列表作为最终死链列表,也就是执行步骤s205。
65.例如:重复执行10次步骤s202至步骤s204,将最后一次剔除响应结果不符合死链判断条件的无效链接后的初检死链列表作为最终死链列表。
66.步骤s205:确定剔除响应结果不符合死链判断条件的无效链接后的初检死链列表为最终死链列表。
67.在本发明实施例中,利用所确定的所有无效链接,确定初检死链列表。对初检死链列表重复进行预设次数的无效链接检测,直至得到最终死链列表。排除网络问题而导致的死链误判情况,进一步提升检测死链的准确率。
68.与上述本发明实施例提供的一种链接检测方法相对应,参见图3,本发明实施例还提供了一种链接检测装置的结构框图,该链接检测装置包括:获取单元301、提取单元302、处理单元303和确定单元304;获取单元301,用于获取预设的网址列表,网址列表中包含至少一个待检测网址。
69.提取单元302,用于提取待检测网址中的超链接并据此构建相应的超链接列表。
70.在具体实现中,提取单元302具体用于:根据待检测网址获取相应的页面代码;从待检测网址对应的页面代码中提取超链接并据此构建超链接列表。
71.处理单元303,用于访问超链接列表中的各个所述超链接,并获取各个超链接的响应结果。
72.确定单元304,用于根据各个超链接的响应结果,确定包含超链接列表中的无效链接的最终死链列表。
73.在具体实现中,确定单元304具体用于:针对每个超链接,若超链接的响应结果符合预设的死链判断条件,确定超链接为无效链接,死链判断条件基于指示超链接为无效链接的响应状态、响应内容和响应访问的时间设置得到;利用所确定的所有无效链接,确定最终死链列表。
74.在具体实现中,确定单元304具体用于:针对每个超链接,解析超链接的响应结果得到对应的响应状态、响应内容和响应访问的时间;针对每个超链接,若超链接的响应状态不满足预设响应状态,或者,若超链接响应访问的时间大于预设时间,或者,若超链接的响应内容为预设响应内容,确定超链接为无效链接。
75.在本发明实施例中,获取预先构建的包含待检测网址的网址列表,提取待检测网址中的超链接并构建超链接列表。访问超链接列表中的各个超链接得到对应的响应结果,根据所得到的响应结果确定最终死链列表,最终死链列表中包含超链接列表中的无效链接。不需要由检测人员一一点击链接来确定无效链接,降低检测死链的时间和提高检测死链的准确率。
76.优选的,结合图3示出的内容,确定单元包括:确定模块、访问模块和处理模块,各个模块的执行原理为:确定模块,用于利用所确定的所有无效链接,确定初检死链列表。
77.访问模块,用于访问初检死链列表中的各个无效链接并获取相应的响应结果。
78.处理模块,用于从初检死链列表中剔除响应结果不符合死链判断条件的无效链接,执行访问模块直至执行次数等于预设次数,确定剔除响应结果不符合死链判断条件的
无效链接后的初检死链列表为最终死链列表。
79.在本发明实施例中,利用所确定的所有无效链接,确定初检死链列表。对初检死链列表重复进行预设次数的无效链接检测,直至得到最终死链列表。排除网络问题而导致的死链误判情况,进一步提升检测死链的准确率。
80.优选的,结合图3示出的内容,该链接检测装置还包括:反馈单元,用于将最终死链列表发送至目标对象,或者,将最终死链列表中不属于预设黑名单的无效链接发送至目标对象。
81.综上所述,本发明实施例提供一种接检测方法及装置,获取预先构建的包含待检测网址的网址列表,提取待检测网址中的超链接并构建超链接列表。访问超链接列表中的各个超链接得到对应的响应结果,根据所得到的响应结果确定最终死链列表,最终死链列表中包含超链接列表中的无效链接。不需要由检测人员一一点击链接来确定无效链接,降低检测死链的时间和提高检测死链的准确率。
82.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
83.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
84.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1