首页> 中国专利> Web网站死链检测方法

Web网站死链检测方法

摘要

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

著录项

  • 公开/公告号CN102752154A

    专利类型发明专利

  • 公开/公告日2012-10-24

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN201210264476.7

  • 发明设计人 蔡皖东;姚卓;姚烨;

    申请日2012-07-29

  • 分类号H04L12/24;H04L29/08;G06F17/30;

  • 代理机构西北工业大学专利中心;

  • 代理人王鲜凯

  • 地址 710072 陕西省西安市友谊西路127号

  • 入库时间 2023-12-18 07:07:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-21

    未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20140820 终止日期:20150729 申请日:20120729

    专利权的终止

  • 2014-08-20

    授权

    授权

  • 2012-12-19

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20120729

    实质审查的生效

  • 2012-10-24

    公开

    公开

说明书

技术领域

本发明涉及一种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 in  linked 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 of  data[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.输出结果。

输出死链文件中的死链及其原因,并向网络管理员发送邮件通知。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号