CN102752154B - Web网站死链检测方法 - Google Patents
Web网站死链检测方法 Download PDFInfo
- 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
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链接相互引用加剧了死链的产生,损害了网站内容完整性,导致网站性能严重下降。
死链的影响是多方面的。佐治亚理工学院的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)输出死链文件中的死链及其原因,并向网络管理员发送邮件通知。
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)
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)
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)
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 |
-
2012
- 2012-07-29 CN CN201210264476.7A patent/CN102752154B/zh not_active Expired - Fee Related
Patent Citations (3)
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)
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 |