校园网搜索引擎的分析与设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1类别中小学信息技术编号校园网搜索引擎的分析与设计内容摘要:随着Internet的迅速发展,校园网也不断发展,校园网中的信息量不断增大,我们在查找信息时也因其信息资源量大而不能很快找到所需的信息,所以一种基于校园网的搜索引擎也就应运而生了。而网络蜘蛛技术是搜索引擎的关键。本文围绕这一技术而展开。首先从搜索引擎的种类和原理整体分析了搜索引擎,然后研究网络蜘蛛这一技术,从网络蜘蛛技术的原理、一般系统结构、关键技术、技术实现等几个方面来分别分析、为设计校园搜索引擎作最基本的工作。选择.NET为设计平台,以C#语言编写程序。关键词:搜索引擎;蜘蛛;超链接;爬取;URL1.引言随着Internet的快速发展,网络正在深刻地影响着我们的生活。而在网上发展最为迅速的(WorldWideWeb)技术,以其直观、简单、高效的使用方式和丰富的表达能力,已逐渐成为Internet上最重要的信息发布和交互方式。Internet上的数十亿的网页数量,这给人们带来了前所未有的丰富的信息资源。然而,Web信息的急速增长,在给人们提供丰富信息的同时,也存在信息量过大而导致人们不能很快找到自己所需信息的问题。因此,随之而来的就出现了搜索引擎,但搜索引擎在如此快速的Internet发展之下也面临很多挑战[2]:(1)Web上的信息种类繁多、丰富多彩使得搜索引擎能够检索的范围越来越小。(2)Web是一个动态增长的信息源,随时会发生各种变化。(3)搜索引擎面对的用户是形形色色的,这些用户的信息需求、知识背景、兴趣各不相同。对于目前搜索引擎存在的各种不足及面临解决的诸多难题,如:如何跟上Internet的发展速度,如何才能提供更加方便易用的搜索服务,如何才能为用户提供更加精确的查询结果等等,都是未来很长一段时间内搜索引擎的发展方向。总的看来,其未来发展的趋势将主要体现在以下几个方面[1,4,29]:(1)专业化搜索:搜索引擎的专业化是为了专门收录某一行业、某一主题和某一地区的信息而建立,缩小了搜索范围,非常实用,如企业查询、行业信息查询等等。2这种专业化的搜索引擎需要对专业知识专而精,并要求内容全面。(2)个性化搜索:提高搜索精确度的另一个途径是提供个性化搜索,也就是将搜索建立在个性化的搜索环境之下,通过对用户的不断了解、分析,使得个性化搜索更符合每个用户的需求。2.搜索引擎的分类及工作原理2.1搜索引擎的分类当前搜索引擎的分类方法有很多,因此分类出来的搜索引擎也很多。通常根据搜索引擎信息收集方法和工作方式的不同,现有的搜索引擎有以下三类:1.机器人搜索引擎;2.目录式搜索引擎;3.元搜索引擎[3,6,21]。2.1.1机器人搜索引擎机器人搜索引擎它是将Web视作一个大型的全文数据库,利用几个关键词来表示一个网页,通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,返回查询结果一般包括Web页面标题和URL等信息,然后按一定的排列顺序将结果返回给用户,是真正的搜索引擎。国外具有代表性的有Google、AllTheWeb等,国内著名的有百度(Baidu)。这类搜索引擎的优点是信息量大,无需人工干预,但由于关键词是直接从原文中抽取的,每个人对于一个主题的描述存在着很大的随意性,而且关键词之间又是互相独立的,所以返回查询结果往往缺乏准确性。机器人搜索引擎的自动信息搜集功能分两种:一种是拥有自己的搜索程序,俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,定期对一定IP地址范围的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库,搜索结果直接从自身的数据库中调用;另一种是由网站拥有者主动向搜索引擎网站提交网址。2.1.2目录式搜索引擎目录式搜索引擎是以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工编辑摘录核心信息,并将信息置于事先确定的分类框架中。由于目录索引只是一个按目录分类的网站链接列表,因此目录式搜索引擎虽然有搜索功能,但严格意义上不能称为搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词查询,仅靠分类目录也可找到需要的信息。它的优点在于:目录清晰、内容较准确、有效价值较高;缺点也比较明显:分类体系不规范、不统一,交叉类目容易遗3漏;人工分类,效率比较低,速度比较慢,更新不及时。目录搜索引擎中最具代表性的如Yahoo(雅虎)。2.1.3元搜索引擎元搜索引擎,即指在统一的用户查询界面与信息反馈的形式下,共享多个搜索引擎的资源库为用户提供信息服务的系统,又称作搜索引擎之上的搜索引擎。元搜索引擎自身没有建立存储网页信息的数据库[7],而是将用户的查询请求同时传送至多个包含数据库的搜索引擎,并行地访问数个搜索引擎来查询这个关键词,然后对各搜索引擎返回的结果进行去重、排序等整理,最终响应给检索用户。严格意义上来讲,元搜索引擎只能算是一种用户代理,而不是真正的搜索引擎。目前,没有一个搜索引擎能涵盖整个Internet,各搜索引擎的收录范围又有所差异,因此这类元搜索受到了一定程度的关注,特别适合于对查全率要求高的查询。但是,不同的搜索引擎之间,建立索引数据库和执行提交检索的具体方法或规则并不相同,因此,大大影响了元搜索的检索效果。2.2搜索引擎工作原理搜索引擎的工作原理基本都是一样的[10],利用一个叫网络蜘蛛的程序在网络上爬行,自动地遍历Web来获得的网络信息并保存到本地服务器中。因此,我们通常所说的搜索引擎并不是真正的在搜索互联网,而是通过用户提供的关键词,搜索引擎再根据此关键词进行对其服务器的数据库进行搜索。为了保证用户查找信息的精度和及时,搜索引擎需要建立并维护一个庞大的索引数据库,从而能够迅速的从中找到相关的信息。搜索引擎的工作过程一般来说可以看作三大步:从互联网上爬取网页-预处理-查询服务[23],如图1。图1搜索引擎工作流程图(1)从互联网上爬取网页事先利用搜索引擎中的蜘蛛程序,自动地从一个种子URL集出发。它能自动扫描与URL相对应的网页,它利用HTML语言的标记结构搜索信息和获取指向其他超文本的URL链接,通过一定搜索策略选择下一个要访问的页面,继而转向另一个链接的页面继续进行信息搜集,如此通过找到新的URL不断爬行,不断搜集页面。从理论上讲,网络蜘蛛可以搜集Internet上所有信息。(2)预处理(建立索引数据库)由蜘蛛程序采集回来的信息,经分析索引系统程序对其进行分析处理,提取相关网页信息(包括网页筛选、页面内容包含的所有关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面文字中及超链中每一个关键词的相关度(或重要性),然后利用这些相关信息建立网页索引数据库。(3)查询服务(在索引数据库中搜索排序)经过以上两个步骤后,当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到与该关键词所有相关的网页。因为所有相关网页针对该关键词的相关度早已按照预设的算法算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。由以上简述可知,网络蜘蛛在整个搜索引擎中是核心组成部分之一。3.网络蜘蛛简介3.1网络蜘蛛在搜索引擎原理中提到过,其数据库是通过网络蜘蛛搜集的网页。那么在具体搜集过程中,如何爬取一篇篇网页,最常见的是通过爬取来找到网页[15,23,24]。就是将Web上的网页集合看成一个有向图,搜集过程是从给定的起始URL集合S开始,沿着网页中的链接,按照一定的策略遍历,不停的从S中读取URL,下载相应的网页,并解析出网页中的超链接URL,看是否已经被访问过,将未访问过的那些URL加入集合S。整个过程可以形象地想像为一个蜘蛛在蜘蛛网上爬行。通过前面的描述,可知网络蜘蛛(Spider)它是一种功能很强的基于HTTP协议的网络应用程序。它会定期根据预先设定的地址去查看对应的网页,如网页发生变化则重新获取该网页,否则根据该网页中的链接继续去访问其他页面,如此循环,理论上可以扫描互联网上的所有页面。例如Google,就是利用网络蜘蛛程序来遍历Web站5点,以创建并维护这些大型数据库。3.2网络蜘蛛的工作原理及系统结构网络蜘蛛是通过一个给定的初始URL集合[25,27],把这个初始URL集合放到URL处理器中;网页读取器根据URL处理器提供的这个初始URL集合,解析URL中标明的Web服务器地址、建立连接、发送请求和接收数据,采集到相应的网页;经过去重检测后,通过URL提取器从网页中提取出新的URL放入URL处理器;并将其存入数据库中;由标签信息获取器获取相应的标签,分两个方向分别将其存入URL处理器中和存入数据库中保存;如此反复采集、处理数据,直到网页读取器要求停止(URL处理器中URL集合为空)为止。一般来说网络蜘蛛采集是模拟人浏览网站的过程进行对网页采集的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都爬取完为止。按这个原理来,如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都下载下来。根据以上工作过程,可以得到网络蜘蛛的基本结构[22]如图2所示。图2网络蜘蛛的基本结构图3.2.1URL处理器URL处理器是根据先进先出的策略向网页读取器分配URL。URL采取一个队列[11,13,16],以达到更快的处理速度。URL处理器主要有两个数据来源:1)初始的种子URL集,如图2所示;2)从URL提取过来的URL集,它们是从已经读取到的页面中抽取出来并经过处理的。页面的标题及摘要等信息,来自标签信息获取器,它们主要用来显示从URL提取器中传递过来的URL和重要性,为在队列中进行排序提供依据。协议来完成资料的采集。一般来说协议包括http、ftp等。但从主流上看,仍以http为主。根据分配的URL通过各种Web协议来爬取页面并读取页面内容。3.2.3网页去重检测网络上的资源,网页中的内容经常被其他网站、网页引用,蜘蛛程序找到的网页有很多重复的,如不进行网页重复内容的检测过滤,将极大的浪费了网络带宽和系统的运行效率。因此,重复内容检测是网络蜘蛛中的重要组成部分。3.2.4URL提取器在采集到的要读取的页面,通过网页去重检测后,需要分析其中的链接,进行抽取超链,这些任务由URL提取器来完成。首先判别页面类型,对类型为“html和htm”等的页面进行链接分析。页面的类型可在HTTP应答头的分析中得到,也可以通过分析URL中的文件扩展名来得到。超链接的标记总共包括ahref=……、areahref=……、basehref=……、framesrc=……和imgsrc=……等。总的来说,要提取页面的URL,主要是根据关键词href和src来提取即可[5,18,26]。3.2.5标签信息获取器标签信息获取,包括提取页面的标题、页面的摘要等。主要目的是在没有对页面内容进行语义信息理解的前提下,尽可能多的挖掘出HTML标签、结构等信息,对从页面中提取出来的URL质量的好坏给出一个度量,并将其与已访问过的URL表进行比较,将未在表中出现的URL传输到URL处理器,对待提取URL队列进行排序。3.2.6数据库数据库中存储着采集下来的网页的URL、网页标题、网页摘要等,这些数据用于建立索引数据库时非常重要。3.3网络蜘蛛的搜索策略在网络蜘蛛进行爬取网页时,通用搜索引擎的网络蜘蛛将网络上的各个页面及各页面之间的链接看成一个有向图,每个页面作为图的节点,页面中的链接看成是图的有向边,这样就可以用一定的有向图遍历法对其进行遍历。因此在设计通

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功