CN102752154B - Web网站死链检测方法 - Google Patents

Web网站死链检测方法 Download PDF

Info

Publication number
CN102752154B
CN102752154B CN201210264476.7A CN201210264476A CN102752154B CN 102752154 B CN102752154 B CN 102752154B CN 201210264476 A CN201210264476 A CN 201210264476A CN 102752154 B CN102752154 B CN 102752154B
Authority
CN
China
Prior art keywords
url
dead
link
dead link
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210264476.7A
Other languages
English (en)
Other versions
CN102752154A (zh
Inventor
蔡皖东
姚卓
姚烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201210264476.7A priority Critical patent/CN102752154B/zh
Publication of CN102752154A publication Critical patent/CN102752154A/zh
Application granted granted Critical
Publication of CN102752154B publication Critical patent/CN102752154B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种Web网站死链检测方法,用于解决现有的Web网站死链检测方法覆盖率低的技术问题。技术方案是首先对种子列表seedURLs和URL队列初始化,再进行死链分析和判断操作,然后提取实体E中的所有超链接,对提取出的超链接进行预处理,把精简后的链接加入到URL库A中,输出死链文件中的死链及其原因,并向网络管理员发送邮件通知。由于通过动态遍历策略,自动获取较全面的网站链接信息;通过重复网页去除、链接筛选等预处理,对新生成的URL库进行精简,去除重复的网页并且筛选出满足条件的链接,提高了数据采集效率;最后根据死链产生的原因和分类,给出了对应的检测方案,从而提高了检测覆盖率和处理效率。测试表明,本发明达到了93.86%的覆盖率。

Description

Web网站死链检测方法
技术领域
本发明涉及一种Web网站检测方法,特别是涉及一种Web网站死链检测方法。
背景技术
死链是指Web网站中处于路径不可达状态的Web链接,它是导致网站性能下降的重要原因。随着互联网的快速发展,网站中的各种信息在急速增长,维护网站的内容完整性以及性能变得十分复杂。Web网页的一个重要特点是动态性,即网页内容可以任意增加、删除和更新。这一特点使Web服务成为具有吸引力的信息传播媒介,同时也面临着死链问题的挑战,Web链接相互引用加剧了死链的产生,损害了网站内容完整性,导致网站性能严重下降。
死链的影响是多方面的。佐治亚理工学院的GVU中心曾做过一项调查发现,大约60%的用户反映死链问题是使用网络时最反感的问题。此外,为了提高搜索效率和搜索结果的质量,搜索引擎很少会将带有大量死链的站点放在前面,因此死链会导致网站被搜索引擎降权。
研究发现,一般Web网页的平均预期寿命是44天,URL的随机测试集合在四年的时间里损失了大约67%的URL才达到稳定状态。Spinellies对发表在ACM和IEEE上的论文链接的可访问性做了大量调查实验之后,发现28%的URL在五年之后不可用,41%在七年之后不可用,并且在所有不可用的网络链接中,大约60%是404错误(国际组织规定的一类客户端错误,当Web服务器不希望精确指出请求为何被拒绝或者没有找到任何可以匹配的URL资源时使用该状态码)。因此,有效地检测出网站里的各种死链,对于维护网站性能、保持网站内容完整性变得十分重要。由于一个大型网站上的Web链接数以万计,链接有效性检验是一个非常耗时的任务。因此,如何快速、准确和自动地检测Web网站中的死链值得深入研究。
文献1“B.Haslhofer,N.Popitsch.DSNotify-detecting and fixing broken links inlinked data sets[c]//DEXA09.20th International Colocated with DEXA.Austria,Linz,2009:89-93”设计了一个LOD数据源的加载项,通过比较两个链接的相似值来判断404错误链接是否发生转移或者被删除,并在客户端浏览器显示不同的检测信息,从而部分保证LOD数据源的链接完整性。该方法只面对客户端用户,因此只能保证用户体验,不能根本解决死链问题。其次,该方法需要浏览器频繁询问加载项,造成浏览器性能下降,并且检测效率低。
文献2“N.Popitsch,B.Haslhofer.Dsnotify:handling broken links in the web ofdata[c]//Proc of WWW.New york,NY,USA:ACM,2010:761-770”首先定义了两种链接错误类型,结构错误链接和语义错误链接,接着定义了引起结构错误的链接出现的事件,最后根据改进前人设计的11种不同解决方案,提出了DSNotify策略。该策略提取出每个链接的特征向量,根据对链接的元数据和内容的判断,把链接分别放到3个索引队列,最后由索引来判断产生死链的事件。该方法的目的是修改发送404错误的页面,所以只提取和检测与重定向和删除的状态码相关的链接,但所查找到的死链覆盖面不全面。
发明内容
为了克服现有的Web网站死链检测方法覆盖率低的不足,本发明提供一种Web网站死链检测方法。该方法首先根据Web链接的调度过程修改遍历策略,自动获取网站链接信息,得到较全面的网站链接信息。然后对新生成的URL库进行精简,去除重复的网页并且筛选出满足条件的链接,提高数据采集效率。最后根据死链产生的原因和分类,给出了对应的检测方案,可以提高Web网站死链检测的覆盖率。
本发明解决其技术问题所采用的技术方案是:一种Web网站死链检测方法,其特点是包括以下步骤:
(1)判断种子列表seedURLs中的URL的合法性,如果合法放到URL库A中,否则把该URL和错误原因记录到死链的errorSite队列中,进入步骤(6)。
(2)死链分析和判断操作:
①如果A非空,取出一个URLX放入缓存的NamedSite队列中,如果X的域名不是数字形式,把X放到队列dnsSite队列中,进入步骤②,否则进入步骤④;如果A为空,算法结束,死链判断完毕,进入步骤(6);
②向DNS服务器发送链接X的域名查询请求;
③DNS服务器通过递归查询返回链接X的IP地址X.IP,如果递归查询失败,则deadlink(X)=1,发生DNS解析错误,把X和错误原因记录到死链的errorSite文件中,返回步骤①;
④与X.IP建立一个TCP连接后,向Web服务器发送消息请求,请求资源X.R,请求消息中包括GET方法、资源指示符、请求头域以及实体头域;
⑤Web服务器接收和解析一个请求消息后,发出一个HTTP响应消息R,响应消息中包含状态行S、响应头域以及实体E;
⑥取S的第一个数字S.N,如果S.N=4或者S.N=5,则deadlink(X)=1,把X和错误原因记录到死链的errorSite文件中,返回步骤①;如果S.N=3,查看响应头域的Location字段,如果内容为空或者是不合语法的URL,则deadlink(X)=1,发生重定向错误,把X和错误原因记录到死链的errorSite文件中,返回步骤①;
⑦取实体E进行分析,如果实体的长度E.Length=0,则deadlink(X)=1,把X和错误原因记录到死链文件中,返回步骤①;
⑧deadlink(X)=0,进入步骤(3)。
(3)提取实体E中的所有超链接。
(4)对提取出的超链接进行预处理,首先是链接筛选,把网页深度>5的URL或者不合语法的URL过滤掉,然后进行去重处理,使用Bloom filter算法删除掉与URL库A中MD5值相同的URL。
(5)把精简后的链接加入到URL库A中,进入步骤(2)。
(6)输出死链文件中的死链及其原因,并向网络管理员发送邮件通知。
本发明的有益效果是:由于通过动态遍历策略,自动获取较全面的网站链接信息,得到较全面的网站链接信息;通过重复网页去除、链接筛选等预处理,对新生成的URL库进行精简,去除重复的网页并且筛选出满足条件的链接,提高了数据采集效率;最后根据死链产生的原因和分类,给出了对应的检测方案,从而提高了检测覆盖率和处理效率。通过实验验证和实际测试表明,本发明达到了93.86%的覆盖率。本发明为Web网站开发者和维护人员高效地检测Web网站死链,维护Web网站性能提供了有效技术手段。
下面结合附图和实施例对本发明作详细说明。
附图说明
图1是本发明Web网站死链检测方法遍历过程中的URL队列管理图。
图2是本发明Web网站死链检测方法的流程图。
具体实施方式
1.初始化。
首先初始化一个种子列表seedURLs和五个URL队列。五个URL队列分别用于存放DNS缓存的NamedSite队列、已取得DNS解析的URLs的队列IPSite、没有进行DNS解析的站点dnsSite、即将抓取的URL的okSite队列及死链的errorSite队列。然后判断种子列表seedURLs中的URL的合法性,如果合法放到URL库A中,否则把该URL和错误原因记录到死链的errorSite队列中,进入步骤6。只分析传输协议为HTTP的链接,直到所有线程都阻塞时停止。
2.死链分析和判断。
模拟客户端代理向DNS服务器以及Web服务器发送询问请求,根据死链的产生的原因,分类以及HTTP协议的定义,分析返回的信息,若消息满足死链特征,则检测到死链,做相应处理。具体步骤如下:
(1)如果A非空,取出一个URL X放入缓存的NamedSite队列中,如果X的域名不是数字形式,把X放到站点dnsSite队列中,进入步骤(2),否则进入步骤(4);如果A为空,算法结束,死链判断完毕,进入步骤6。
(2)向DNS服务器发送链接X的域名查询请求;
(3)DNS服务器通过递归查询返回链接X的IP地址X.IP,如果递归查询失败,则deadlink(X)=1,发生DNS解析错误,把X和错误原因记录到死链的errorSite文件中,返回步骤(1);
(4)与X.IP建立一个TCP连接后,向Web服务器发送消息请求,请求资源X.R,请求消息中包括GET方法、资源指示符、请求头域以及实体头域;
(5)Web服务器接收和解析一个请求消息后,发出一个HTTP响应消息R,响应消息中包含状态行S、响应头域以及实体E;
(6)取S的第一个数字S.N,如果S.N=4(X发生客户端错误)或者S.N=5(X发生服务器端错误),则deadlink(X)=1,把X和错误原因记录到死链的errorSite文件中,返回步骤(1);如果S.N=3,查看响应头域的Location字段,如果内容为空或者是不合语法的URL,则deadlink(X)=1,发生重定向错误,把X和错误原因记录到死链的errorSite文件中,返回步骤(1);
(7)取实体E进行分析,如果实体的长度E.Length=0,则deadlink(X)=1,说明X没有返回有效信息,把X和错误原因写入errorSite队列,返回步骤(1);
(8)deadlink(X)=0,进入步骤3。
3.网络链接采集。
根据上步分析,X为有效链接,直接提取实体E中的所有超链接。
4.预处理。
对上步得到的新链接进行预处理,主要包括网页去重和链接筛选,首先是链接筛选,把网页深度>5的URL或者不符合语法的URL过滤掉,从而达到效率和链接完整性的平衡,然后进行去重处理,使用Bloom filter算法删除掉与URL库A中MD5值相同的URL。
5.把精简后的链接加入到URL库A中,进入步骤2。
6.输出结果。
输出死链文件中的死链及其原因,并向网络管理员发送邮件通知。

Claims (1)

1.一种Web网站死链检测方法,其特征在于包括以下步骤:
(1)初始化一个种子列表seedURLs、NamedSite、dnsSite和errorSite队列,然后判断种子列表seedURLs中的URL的合法性,如果合法放到URL库A中,否则把该URL和错误原因记录到死链的errorSite队列中,进入步骤(6);
(2)死链分析和判断操作:
①如果A非空,取出一个URL X放入缓存的NamedSite队列中,如果X的域名不是数字形式,把X放到队列dnsSite队列中,进入步骤②,否则进入步骤④;如果A为空,算法结束,死链判断完毕,进入步骤(6);
②向DNS服务器发送链接X的域名查询请求;
③DNS服务器通过递归查询返回链接X的IP地址X.IP,如果递归查询失败,则deadlink(X)=1,发生DNS解析错误,把X和错误原因记录到死链的errorSite文件中,返回步骤①;
④与X.IP建立一个TCP连接后,向Web服务器发送消息请求,请求资源X.R,请求消息中包括GET方法、资源指示符、请求头域以及实体头域;
⑤Web服务器接收和解析一个请求消息后,发出一个HTTP响应消息R,响应消息中包含状态行S、响应头域以及实体E;
⑥取S的第一个数字S.N,如果S.N=4或者S.N=5,则deadlink(X)=1,把X和错误原因记录到死链的errorSite文件中,返回步骤①;如果S.N=3,查看响应头域的Location字段,如果内容为空或者是不合语法的URL,则deadlink(X)=1,发生重定向错误,把X和错误原因记录到死链的errorSite文件中,返回步骤①;S.N=4表示X发生客户端错误,S.N=5表示X发生服务器端错误;
⑦取实体E进行分析,如果实体的长度E.Length=0,则deadlink(X)=1,把X和错误原因记录到死链文件中,返回步骤①;
⑧deadlink(X)=0,进入步骤(3);
(3)提取实体E中的所有超链接;
(4)对提取出的超链接进行预处理,首先是链接筛选,把网页深度>5的URL或者不合语法的URL过滤掉,然后进行去重处理,使用Bloom filter算法删除掉与URL库A中MD5值相同的URL;
(5)把精简后的链接加入到URL库A中,进入步骤(2);
(6)输出死链文件中的死链及其原因,并向网络管理员发送邮件通知。
CN201210264476.7A 2012-07-29 2012-07-29 Web网站死链检测方法 Expired - Fee Related CN102752154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210264476.7A CN102752154B (zh) 2012-07-29 2012-07-29 Web网站死链检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210264476.7A CN102752154B (zh) 2012-07-29 2012-07-29 Web网站死链检测方法

Publications (2)

Publication Number Publication Date
CN102752154A CN102752154A (zh) 2012-10-24
CN102752154B true CN102752154B (zh) 2014-08-20

Family

ID=47032063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210264476.7A Expired - Fee Related CN102752154B (zh) 2012-07-29 2012-07-29 Web网站死链检测方法

Country Status (1)

Country Link
CN (1) CN102752154B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716198B (zh) * 2013-07-05 2017-03-29 中国南方电网有限责任公司 数据网络质量自动拨测方法及系统
CN104598458B (zh) * 2013-10-30 2019-07-16 腾讯科技(深圳)有限公司 页面检测方法及装置
CN105391812A (zh) * 2014-09-04 2016-03-09 上海福网信息科技有限公司 一种网站自检系统及其自检方法
CN104504097B (zh) * 2014-12-29 2016-09-28 北京奇虎科技有限公司 活链规则挖掘方法和装置以及搜索方法和装置
CN104572928B (zh) * 2014-12-29 2016-06-22 奇飞翔艺(北京)软件有限公司 死链规则挖掘方法和装置以及搜索方法和装置
US10430473B2 (en) 2015-03-09 2019-10-01 Microsoft Technology Licensing, Llc Deep mining of network resource references
CN104869033B (zh) * 2015-04-23 2018-05-01 百度在线网络技术(北京)有限公司 一种用于确定死链接的方法和装置
CN105022824B (zh) * 2015-07-21 2018-07-03 北京神州绿盟信息安全科技股份有限公司 无效链接的识别方法和装置
CN108062362A (zh) * 2017-12-01 2018-05-22 北京小度互娱科技有限公司 死链检测方法及装置
CN108694233A (zh) * 2018-04-27 2018-10-23 厦门二五八网络科技集团股份有限公司 一种友链管理系统及管理方法
US11074310B2 (en) 2018-05-14 2021-07-27 International Business Machines Corporation Content-based management of links to resources
CN109981818B (zh) * 2019-03-25 2022-02-25 上海予桐电子科技有限公司 域名语义异常分析方法、装置、计算机设备及其存储介质
CN112269666B (zh) * 2020-11-10 2023-07-25 北京百度网讯科技有限公司 小程序死链检测方法及设备、计算设备和介质
CN113590987A (zh) * 2021-09-29 2021-11-02 飞狐信息技术(天津)有限公司 一种链接检测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853719B1 (en) * 2002-02-11 2010-12-14 Microsoft Corporation Systems and methods for providing runtime universal resource locator (URL) analysis and correction
CN102036418A (zh) * 2009-10-07 2011-04-27 创新音速股份有限公司 无线通讯系统处理无线链接失效的方法与通讯装置
CN102307094A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种动态口令签名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020056053A1 (en) * 2000-10-26 2002-05-09 Ben Vine System and method for handling web failures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853719B1 (en) * 2002-02-11 2010-12-14 Microsoft Corporation Systems and methods for providing runtime universal resource locator (URL) analysis and correction
CN102036418A (zh) * 2009-10-07 2011-04-27 创新音速股份有限公司 无线通讯系统处理无线链接失效的方法与通讯装置
CN102307094A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种动态口令签名方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《Just-In-Time Recovery of Missing Web Pages》;Terry L. Harrison等;《Proceedings of HYPERTEXT 2006》;20060825;第145-156页 *
Terry L. Harrison等.《Just-In-Time Recovery of Missing Web Pages》.《Proceedings of HYPERTEXT 2006》.2006,第145-156页.
基于Linux的网络爬虫系统;王锋等;《计算机工程》;20100131;第36卷(第1期);第280-282页 *
王锋等.基于Linux的网络爬虫系统.《计算机工程》.2010,第36卷(第1期),第280-282页.

Also Published As

Publication number Publication date
CN102752154A (zh) 2012-10-24

Similar Documents

Publication Publication Date Title
CN102752154B (zh) Web网站死链检测方法
US9218482B2 (en) Method and device for detecting phishing web page
US8468597B1 (en) System and method for identifying a phishing website
KR100723867B1 (ko) 피싱웹페이지 차단 장치 및 방법
CN103927370B (zh) 一种组合文字和图片信息的网络资讯批量采集方法
CN106534146B (zh) 一种安全监测系统及方法
CN103577482B (zh) 一种网页收藏方法、装置及浏览器
CN102752288A (zh) 网络访问行为识别方法和装置
Taylor et al. Detecting malicious exploit kits using tree-based similarity searches
CN110083391A (zh) 调用请求监控方法、装置、设备及存储介质
CN103067387B (zh) 一种反钓鱼监测系统和方法
Shin et al. Prevalence and mitigation of forum spamming
CN103778113B (zh) 终端、服务器及终端、服务器的网页处理方法
CN101895516A (zh) 一种跨站脚本攻击源的定位方法及装置
CN105337993A (zh) 一种基于动静结合的邮件安全检测装置及方法
Balla et al. Real-time web crawler detection
CN103984753A (zh) 一种网络爬虫去重特征值的提取方法和装置
CN109033203A (zh) 一种面向大数据的特征提取并行处理方法
CN103428249B (zh) 一种http请求包的收集及处理方法、系统和服务器
WO2015014221A1 (zh) 一种垃圾信息过滤方法和装置
CN102682011B (zh) 建立域名描述名称信息表、搜索的方法、装置及系统
CN111898036B (zh) 一种行为数据收集处理系统及方法
CN103036746B (zh) 基于网络中间点的网页响应时间被动测量方法及系统
KR20120071827A (ko) 악성코드 경유-유포지 탐지를 위한 씨드 정보 수집 장치 및 수집 방법
KR101556714B1 (ko) 검색결과 제공 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140820

Termination date: 20150729

EXPY Termination of patent right or utility model