一种网络机器人方法

文档序号:6491809阅读:162来源:国知局
一种网络机器人方法
【专利摘要】本发明公开了一种网络机器人方法,包括如下步骤:设计网络机器人规范、设计深度优先搜索策略或者广度优先搜索策略、设计预防网络陷阱对策、设计均衡访问策略、超链接提取和设计提高采集效率技术;所述设计提高采集效率的方法包括采用多线程技术、采用链长比技术、限制查询跳转和限制文档的长度;本发明提供的一种网络机器人方法,采用网络机器人技术爬取网页或采集数据覆盖范围广,采集迅速,省时省力,这种技术能够有效的避免因网络上的超链接构成的环路而导致的网络陷阱,而且采用均衡访问技术,不会产生因为占用大量网络资源而加重WWW服务器的负载负担。
【专利说明】一种网络机器人方法
【技术领域】
[0001]本发明涉及一种网络数据采集技术,特别是一种网络机器人方法;
【背景技术】
[0002]随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战;搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista, Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南;但是,这些通用性搜索引擎也存在着一定的局限性,如不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页;通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深;万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取;通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询;
[0003]Web数据采集机制包括人工采集和自动采集两种方式:人工采集是由专门的信息采集人员搜集、跟踪及选择有用的WWW站点和页面,并进行分类和索引入库;自动采集机制是利用一个叫网络机器人(Robot)的搜索软件按照一定的规则对网站和网页进行自动采集并加入到索引库中;人工采集的信息质量和分类质量有保障,但成本高、效率较低;自动采集省时省力,信息 覆盖面广,但信息提取质量不高,从而将影响查准率;鉴于自动采集自动化程度高,并且目前信息提取和分类技术不断完善,大多数搜索引擎现在都采用自动采集方式;
[0004]为了解决上述问题,定向抓取相关网页资源的网络机器人应运而生;网络机器人是一个自动下载网页的程序,它根据既定的抓取目标有选择的访问万维网上的网页与相关的链接,获取所需要的信息;

【发明内容】

[0005]本发明针对以上问题的提出,而研制一种按照一定规则对网站和网页进行自动采集并加入到索引库中,具有省时省力,信息覆盖面广等特点的一种网络机器人方法;
[0006]本发明的技术手段如下:
[0007]一种网络机器人方法,其特征在于包括如下步骤:
[0008]A、设计网络机器人规范;
[0009]Al、制定机器人不包括的项目标准:在服务器上创建一个机器人文本文件,该文本文件中说明网站不能访问的链接和网站拒绝访问的机器人;
[0010]A2、制定机器人META标签;网站管理员和个人用户通过META标签限制机器人程序对网页的访问权限;
[0011]B、设计深度优先搜索策略或者广度优先搜索策略;根据机器人对URL列表存取的方式决定搜索策略,且当将待搜索队列看成队列时,新的超链接从尾加入从头取出构成广度优先遍历;当将待搜索队列看成堆栈时,新的超链接从头加入从头取出则构成深度优先遍历;
[0012]C、设计预防网络陷阱对策;在访问新URL前与待搜索和已搜索URL对列列表中的URL进行比较,该比较为URL对象间的比较,将URL对列列表中不包含的URL添加到待搜索的URL列表,以避免掉进网络陷阱;
[0013]D、设计均衡访问策略;设定访问一个Web服务器的线程最大数并采用等待方式限制机器人程序或进程对特定服务器和网段的访问频率;每当机器人程序或进程从一个Web站点取得一个文档后,该机器人程序或进程将等待一定的间隔再对该Web站点进行新的访问,根据站点处理能力和网络通讯能力确定等待时间的长短,将下一次访问该Web站点的时间Tl为当前时间T2加上访问该Web站点所需的时间,访问该Web站点所需的时间取值为网络传输时间T3乘以已设定系数;
[0014]E、超链接提取;获取HTML文档的超链接URL地址后,根据网页超链接URL的绝对地址与相对地址区别,对其中的相对URL地址在送交待搜索队列前结合当前网页地址将其转化为绝对地址;机器人程序在获取URL链接的同时,对得到的URL链接所对应的Web源文档进行数据采集以便获取Web链接和数据,并将TCP协议传输的字节流转换为字符流;
[0015]F、设计提高采集效率技术;
[0016]Fl、采用多线程技术;
[0017]F2、采用链长比技术;设定链长比为超链接数与文档长度的比值;提取链长比小于某一门限值的页面,并且忽略页面中的目录页采集其中的内容页;
[0018]F3、限制查询跳转;当查找到新URL时判断该URL的主机地址是否与当前正在搜索的主机地址相同,若相同则将该URL加入到当前待搜索队列中,否则将其加入到主待搜索队列中;若当前待搜索队列为空则从主待搜索队列中取出一个新URL加入到当前待搜索队列中;
[0019]F4、限制文档的长度;设定文档最小长度的阈值,对大于该阈值的文档进行数据采集,放弃低于文档长度低于该阈值的文档。
[0020]与现有技术相比,本发明具有以下优点:
[0021]1、采用网络机器人技术爬取网页或采集数据覆盖范围广,采集迅速,省时省力;
[0022]2、能够有效的避免因网络上的超链接构成的环路而导致的网络陷阱;
[0023]3、采用均衡访问技术,不会产生因为占用大量网络资源而加重WWW服务器的负载负担。
【专利附图】

【附图说明】
[0024]图1是本发明的结构示意图;
[0025]图2是本发明的流程框图。
【具体实施方式】
[0026]如图1、图2所示的一种网络机器人方法,包括如下步骤:
[0027]A、设计网络机器人规范;[0028]Al、采用Robots Exclusion标准设计,在服务器上创建一个robots, txt文件,说明本站哪些链接不可访问以及本站拒绝哪些Robot访问等,并且应具有http://WebSiteName/robot.txt的URL,其中WebSiteName是网站的名字;这个文件中分别存放对各个搜寻程序的访问控制指令,格式如下:
[0029]User-agent:
[0030]Disallow:
[0031]其中,User-agent是用来指定Robots Exclusion标准所针对的Robot程序名称,如果使用了多个User-agent域,则表示同一种访问策略被应用在多个Robot程序上,通配符意味着针对所有Robot程序;Disallow指定网站中被限制访问的URL路径,该路径可以是全局路径或者局部路径;所有以该URL开始的URL都不允许被访问;例如:Disallow:/my 将不允许访问 /my.html 和 /my/index, html,而 Disallow:/my/ 将不允许访问/my/index, html但是允许访问/my.html[13],其中Disallow:/表示整个站点对外关闭,Disallow:指令后为空表示整个站点对外开放;每个记录中至少包含一个Disallow域,同时每个URL必须单独占一行,不能出现“Disallow:/cg1-bin//tmp/”这样的病句,而且在一个记录中不能出现空行,因为空行是多个记录分隔的标志;如果文件“/robots, txt”中一行的开始是“#”,那么表示该行是注释内容;如果该文件中没有显示关联的语义信息,它被认为不存在,也就是说所有的Robot程序都可以访问整个站点;
[0032]A2、进行Robots META标记;除了网站管理员可以限制Robot程序对网页的访问权限外,个人用户也可以限制Robot程序对自己网页的访问权限;用户可以在自己的页面中加入一个META标记;
[0033]B、设计深度优先搜索或者广度优先搜索方案;本发明采用灵活设计如可由用户选择具体站点的深度优先或广度优先遍历方法,默认为广度优先遍历方法;由于机器人以URL列表存取的方式决定搜索策略,所以在实现上其关键问题在于我们将待搜索队列看做队列还是堆栈;如果看成队列,新的超链接从尾加入从头取出则构成广度优先遍历;如果看成堆栈,新的超链接从头加入从头取出则构成深度优先遍历;在实现上Java中的向量类Vector非常适合用做队列或堆栈的设计;
[0034]C、预防网络陷阱对策设计;本发明在访问新URL前应先与待搜索和已搜索URL对列列表中的URL进行比较,只有全新的URL才能加入到待搜索的URL列表,这样就可以避免掉进网络陷阱;
[0035]D、设计均衡访问策略;本发明应对Web服务器仅使用少数几个线程访问;在设计程序时本发明可以规定访问一个Web服务器的线程的最大数,这样就使得访问一个Web服务器的线程数受到限制;另外,本发明必须限制Robot程序或进程对特定服务器和网段的访问频率,其基本方法是“等待”;每当Robot程序或进程从一个Web站点取得一个文档后,它必须等待一定的间隔再对该Web站点进行新的访问,等待的时间长短一般根据站点的处理能力和网络的通讯能力来确定;通常的设计是下一次访问该Web站点的时间Tl为当前时间T2加上访问该Web站点所需的时间T3乘上一个已设定系数“好人系数good-guyfactor”,即:Tl=T2+T3*good_guyfactor,其中 T3 主要是网络传输所花时间;
[0036]E、超链接提取;在HTML文档中,文本超链接的语法形式如下:
[0037]〈A HREF=超链接URL地址部分 > 超链接文字说明部分</A>[0038]超链接提取的目标就是获取其中的超链接URL地址部分;由于不能确定此标签中指定具体的字符大小写、空格和参数的数目,简单的查找过程是首先将HTML源文件的字符全部统一大写或小写,然后定位文档中“〈A”标记后的“HREF”标记,找到以后对其后跟随的链接进行分析,仅保存如,.htm,,、“.html,,、“.shtml,,、“.jsp”、“.asp,,、“.php”等网页格式且不带参数的链接;重复上述过程直到处理完文档中所有“〈A”标记后的“HREF”标记为止;另外网页的超链接URL地址有绝对地址与相对地址之分;对于相对URL地址在送交待搜索队列前应根据当前网页地址将其转化为绝对地址;
[0039]Robot程序在获取URL链接的同时要不断地对得到的URL链接所对应的WEB源文档进行数据采集,以便获取更多的WEB链接和数据;此时应注意由于TCP协议传输的是字节流,在实现上应将其转换为字符流的形式才能正确显示,这一点对于中文网页很重要,因为我们都知道每个汉字是由两个字节组成,用字节流无法保证每次恰好能读出完整的汉字,在Java中InputStreamReader类可以实现相应的转换;
[0040]F、设计提高采集效率的方法;
[0041]F1、采用多线程技术;
[0042]F2、采用链长比技术;为了获得感兴趣、有价值的页面,在每次从URL队列中选择新的URL时,就要尽可能地选择最为重要的页面;在数据采集中引入链长比概念,其中链长比指超链数与文档长度的比值;只取链长比小于某一个门限值的页面,只采集内容页,忽略目录页;
[0043]F3、限制查询跳转;在找到新的URL时,并不是简单地加入当前待搜索队列,而是首先判断该URL的主机地址是否与当前正在搜索的主机地址相同,若相同则加入当前待搜索队列中,否则加入主待搜索队列;当当前待搜索队列为空时,从主待搜索队列中取出一个新的URL加入到当前待搜索队列中;
[0044]F4、限制文档的长度;其中设定了文档最小长度的阈值,仅对大于该阈值的文档进行数据采集,放弃那些无实际内容的小文档;
[0045]本发明提供的一种网络机器人方法,分别采用广度或深度优先搜索方式对网站和网页进行自动采集并加入到索引库中,采用网络机器人技术爬取网页或采集数据覆盖范围广,采集迅速,省时省力,这种技术能够有效的避免因网络上的超链接构成的环路而导致的网络陷阱,而且采用均衡访问技术,不会产生因为占用大量网络资源而加重WWW服务器的负载负担。
[0046]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
【权利要求】
1.一种网络机器人方法,其特征在于包括如下步骤: A、设计网络机器人规范; Al、制定机器人不包括的项目标准:在服务器上创建一个机器人文本文件,该文本文件中说明网站不能访问的链接和网站拒绝访问的机器人; A2、制定机器人META标签;网站管理员和个人用户通过META标签限制机器人程序对网页的访问权限; B、设计深度优先搜索策略或者广度优先搜索策略;根据机器人对URL列表存取的方式决定搜索策略,且当将待搜索队列看成队列时,新的超链接从尾加入从头取出构成广度优先遍历;当将待搜索队列看成堆栈时,新的超链接从头加入从头取出则构成深度优先遍历; C、设计预防网络陷阱对策;在访问新URL前与待搜索和已搜索URL对列列表中的URL进行比较,该比较为URL对象间的比较,将URL对列列表中不包含的URL添加到待搜索的URL列表,以避免掉进网络陷阱; D、设计均衡访问策略;设定访问一个Web服务器的线程最大数并采用等待方式限制机器人程序或进程对特定服务器和网段的访问频率;每当机器人程序或进程从一个Web站点取得一个文档后,该机器人程序或进程将等待一定的间隔再对该Web站点进行新的访问,根据站点处理能力和网络通讯能力确定等待时间的长短,将下一次访问该Web站点的时间TI为当前时间T2加上访问该Web站点所需的时间,访问该Web站点所需的时间取值为网络传输时间T3乘以已设定系数; E、超链接提取;获取HTML文档的超链接URL地址后,根据网页超链接URL的绝对地址与相对地址区别,对其中的相对URL地址在送交待搜索队列前结合当前网页地址将其转化为绝对地址;机器人程序在获取URL链接的同时,对得到的URL链接所对应的Web源文档进行数据采集以便获取Web链接和数据,并将TCP协议传输的字节流转换为字符流; F、设计提高采集效率技术; F1、采用多线程技术; F2、采用链长比技术;设定链长比为超链接数与文档长度的比值;提取链长比小于某一门限值的页面,并且忽略页面中的目录页采集其中的内容页; F3、限制查询跳转;当查找到新URL时判断该URL的主机地址是否与当前正在搜索的主机地址相同,若相同则将该URL加入到当前待搜索队列中,否则将其加入到主待搜索队列中;若当前待搜索队列为空则从主待搜索队列中取出一个新URL加入到当前待搜索队列中; F4、限制文档的长度;设定文档最小长度的阈值,对大于该阈值的文档进行数据采集,放弃低于文档长度低于该阈值的文档。
【文档编号】G06F17/30GK103838791SQ201210491376
【公开日】2014年6月4日 申请日期:2012年11月27日 优先权日:2012年11月27日
【发明者】刘立堂, 苏晓华 申请人:大连灵动科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1