用于链接精确抓取的网络机器人算法的制作方法

文档序号:6385399阅读:263来源:国知局
专利名称:用于链接精确抓取的网络机器人算法的制作方法
技术领域
本发明涉及搜索引擎技术领域,特别是一种用于链接精确抓取的网络机器人算法。
背景技术
网络机器人(Spider)是一种功能很强的WEB扫描程序。它从一个简单的Web页 面上开始执行,在扫描Web页面时通过其内的超链接访问其他页面,因为Web页面中广泛使 用超链接,所以一个Spider程序理论上可以访问互联网上的所有Web页面。基于因特网的 搜索引擎是Spider程序的最早应用。例如搜索巨头Google公司,就利用Spider程序来遍 历Web站点,以创建并维护这些大型数据库。网络机器人还可以通过扫描Web站点的主页 来得到这个站点的文件清单和层次机构。还可以扫描出中断的超链接和拼写错误等。发明内容
本发明的目的在于提供一种用于链接精确抓取的网络机器人算法,该算法不仅有 利于对所需的网页进行精确抓取,而且算法设计合理,运行效果好。
本发明的技术方案是一种用于链接精确抓取的网络机器人算法,其特征在于 构造等待队列、处理队列和完成队列,然后按如下步骤进行步骤1:把待处理的URL加入所述等待队列;步骤2 :判断所述等待队列中是否存在URL且收集的链接数量小于等于设定数量,如果 是从所述等待队列取出一 URL送入处理队列,打开所述URL指向的网页并对所述网页进行 解析,然后转步骤3,否则程序结束;步骤3 :判断所述网页中是否包含超级链接,如果是转步骤4,否则将所述网页对应的 URL从所述处理队列取出并送入完成队列,然后返回步骤2 ;步骤4 :判断所述网页中包含的超级链接是否都已处理完,如果是将所述网页对应的 URL从所述处理队列取出并送入完成队列,然后返回步骤2,否则查看所述网页中包含的下 一个超级链接,并转步骤5 ;步骤5:判断所述超级链接是否指向网页,如果是转步骤6,否则报告所述超级链接为 外部链接,并返回步骤4;步骤6 :判断所述超级链接指向的网页是否为所需网页且未访问过且不存在所述等待 队列中,如果是把所述超级链接加入等待队列并更新收集的链接数量,然后返回步骤4,否 则直接返回步骤4。
本发明的有益效果是能够在扫描Web页面时,搜索其内的超链接,并通过分析判 断,精确获取所需的超链接和对应的网页。此外,该算法程序设计合理,不仅耗费内存少,而 且可以使用多线程技术,可应用于大型程序项目。
下面结合附图及具体实施例对本发明作进一步的详细说明。


图1是本发明实施例的工作流程示意图。
具体实施方式
本发明用于链接精确抓取的网络机器人算法,如图1所示,构造等待队列、处理队 列、错误队列和完成队列,然后按如下步骤进行步骤1:把待处理的URL加入所述等待队列;步骤2 :判断所述等待队列中是否存在URL且收集的链接数量小于等于设定数量,如果 是从所述等待队列取出一 URL送入处理队列,打开所述URL指向的网页并对所述网页进行 解析,然后转步骤3,否则程序结束;如果在解析网页时出错,将所述网页对应的URL从所述 处理队列取出并送入错误队列;步骤3 :判断所述网页中是否包含超级链接,如果是转步骤4,否则将所述网页对应的 URL从所述处理队列取出并送入完成队列,然后返回步骤2 ;步骤4 :判断所述网页中包含的超级链接是否都已处理完,如果是将所述网页对应的 URL从所述处理队列取出并送入完成队列,然后返回步骤2,否则查看所述网页中包含的下 一个超级链接,并转步骤5 ;步骤5 :判断所述超级链接是否指向网页,如果是转步骤6,否则报告所述超级链接为 外部链接,并返回步骤4;步骤6:判断所述超级链接指向的网页是否为所需网页且未访问过且不存在所述等待 队列中,如果是把所述超级链接加入等待队列并更新收集的链接数量,然后返回步骤4,否 则直接返回步骤4。
Internet是建立在很多相关协议基础上的。Web建立在HTTP ( Hypertext Transfer Protocol )协议基础上,而 HTTP 又是建立在 TCP/IP ( Transmission Control Protocol / Internet Protocol )协议之上,它同时也是一种Socket协议。所以网络机 器人本质上是一种基于Socket的网络程序。
当一个URL被加入到等待队列中时,本发明实现的Spider程序就会开始运行。只 要等待队列中有一个网页或Spider程序正在处理一个网页,程序就会继续工作。当等待队 列为空并且当前没有任何网页正在处理时,Spider程序就会停止工作。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作 用未超出本发明技术方案的范围时,均属于本发明的保护范围。
权利要求
1.一种用于链接精确抓取的网络机器人算法,其特征在于构造等待队列、处理队列和完成队列,然后按如下步骤进行 步骤1:把待处理的URL加入所述等待队列; 步骤2 :判断所述等待队列中是否存在URL且收集的链接数量小于等于设定数量,如果是从所述等待队列取出一 URL送入处理队列,打开所述URL指向的网页并对所述网页进行解析,然后转步骤3,否则程序结束; 步骤3 :判断所述网页中是否包含超级链接,如果是转步骤4,否则将所述网页对应的URL从所述处理队列取出并送入完成队列,然后返回步骤2 ; 步骤4 :判断所述网页中包含的超级链接是否都已处理完,如果是将所述网页对应的URL从所述处理队列取出并送入完成队列,然后返回步骤2,否则查看所述网页中包含的下一个超级链接,并转步骤5 ; 步骤5 :判断所述超级链接是否指向网页,如果是转步骤6,否则报告所述超级链接为外部链接,并返回步骤4; 步骤6 :判断所述超级链接指向的网页是否为所需网页且未访问过且不存在所述等待队列中,如果是把所述超级链接加入等待队列并更新收集的链接数量,然后返回步骤4,否则直接返回步骤4。
2.根据权利要求1所述的用于链接精确抓取的网络机器人算法,其特征在于还构造有错误队列,如果在解析网页时出错,将所述网页对应的URL从所述处理队列取出并送入错误队列。
全文摘要
本发明涉及用于链接精确抓取的网络机器人算法,包括以下步骤1)把URL加入等待队列;2)判断等待队列中是否有URL且收集的链接数小于等于设定数,是则打开URL指向的网页,转步骤3,否则程序结束;3)判断网页是否包含超链接,是则转步骤4,否则将URL送入完成队列,转步骤2;4)判断网页包含的超链接是否已处理完,是则将URL送入完成队列,转步骤2,否则提取超链接,并转步骤5;5)判断超链接是否指向网页,是则转步骤6,否则转步骤4;6)判断指向的网页是否为所需网页且未访问过且不存在队列中,是则加入收集的链接队列,否则转步骤4。该算法有利于对所需的网页进行精确抓取,且算法设计合理,运行效果好。
文档编号G06F17/30GK103034732SQ20121057190
公开日2013年4月10日 申请日期2012年12月26日 优先权日2012年12月26日
发明者陈志德, 许力 申请人:福建师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1