校园网搜索引擎的分析与设计.doc
《校园网搜索引擎的分析与设计.doc》由会员分享,可在线阅读,更多相关《校园网搜索引擎的分析与设计.doc(22页珍藏版)》请在沃文网上搜索。
1、类别中小学信息技术编号校园网搜索引擎的分析与设计内容摘要:随着Internet的迅速发展,校园网也不断发展,校园网中的信息量不断增大,我们在查找信息时也因其信息资源量大而不能很快找到所需的信息,所以一种基于校园网的搜索引擎也就应运而生了。而网络蜘蛛技术是搜索引擎的关键。本文围绕这一技术而展开。首先从搜索引擎的种类和原理整体分析了搜索引擎,然后研究网络蜘蛛这一技术,从网络蜘蛛技术的原理、一般系统结构、关键技术、技术实现等几个方面来分别分析、为设计校园搜索引擎作最基本的工作。选择.NET为设计平台,以C#语言编写程序。关键词:搜索引擎;蜘蛛;超链接;爬取;URL1.引言随着Internet的快速发
2、展,网络正在深刻地影响着我们的生活。而在网上发展最为迅速的WWW (World Wide Web)技术,以其直观、简单、高效的使用方式和丰富的表达能力,已逐渐成为Internet上最重要的信息发布和交互方式。Internet上的数十亿的网页数量,这给人们带来了前所未有的丰富的信息资源。然而,Web信息的急速增长,在给人们提供丰富信息的同时,也存在信息量过大而导致人们不能很快找到自己所需信息的问题。因此,随之而来的就出现了搜索引擎,但搜索引擎在如此快速的Internet发展之下也面临很多挑战2:(1)Web上的信息种类繁多、丰富多彩使得搜索引擎能够检索的范围越来越小。(2)Web是一个动态增长的
3、信息源,随时会发生各种变化。(3)搜索引擎面对的用户是形形色色的,这些用户的信息需求、知识背景、兴趣各不相同。对于目前搜索引擎存在的各种不足及面临解决的诸多难题,如:如何跟上Internet的发展速度,如何才能提供更加方便易用的搜索服务,如何才能为用户提供更加精确的查询结果等等,都是未来很长一段时间内搜索引擎的发展方向。总的看来,其未来发展的趋势将主要体现在以下几个方面1,4,29:(1)专业化搜索:搜索引擎的专业化是为了专门收录某一行业、某一主题和某一地区的信息而建立,缩小了搜索范围,非常实用,如企业查询、行业信息查询等等。这种专业化的搜索引擎需要对专业知识专而精,并要求内容全面。(2)个性
4、化搜索:提高搜索精确度的另一个途径是提供个性化搜索,也就是将搜索建立在个性化的搜索环境之下,通过对用户的不断了解、分析,使得个性化搜索更符合每个用户的需求。2.搜索引擎的分类及工作原理2.1搜索引擎的分类当前搜索引擎的分类方法有很多,因此分类出来的搜索引擎也很多。通常根据搜索引擎信息收集方法和工作方式的不同,现有的搜索引擎有以下三类:1.机器人搜索引擎;2.目录式搜索引擎;3.元搜索引擎3,6,21。2.1.1机器人搜索引擎 机器人搜索引擎它是将Web视作一个大型的全文数据库,利用几个关键词来表示一个网页,通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件
5、匹配的相关记录,返回查询结果一般包括Web页面标题和URL等信息,然后按一定的排列顺序将结果返回给用户,是真正的搜索引擎。国外具有代表性的有Google、AllTheWeb等,国内著名的有百度(Baidu)。这类搜索引擎的优点是信息量大,无需人工干预,但由于关键词是直接从原文中抽取的,每个人对于一个主题的描述存在着很大的随意性,而且关键词之间又是互相独立的,所以返回查询结果往往缺乏准确性。机器人搜索引擎的自动信息搜集功能分两种:一种是拥有自己的搜索程序,俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,定期对一定IP地址范围的互联网站进行检索,一旦发现新的网站,它会自动提取网站的
6、信息和网址加入自己的数据库,搜索结果直接从自身的数据库中调用;另一种是由网站拥有者主动向搜索引擎网站提交网址。2.1.2目录式搜索引擎目录式搜索引擎是以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工编辑摘录核心信息,并将信息置于事先确定的分类框架中。由于目录索引只是一个按目录分类的网站链接列表,因此目录式搜索引擎虽然有搜索功能,但严格意义上不能称为搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词查询,仅靠分类目录也可找到需要的信息。它的优点在于:目录清晰、内容较准确、有效价值较高;缺点也比较明显:分类体系不规范、不统一,交叉类目容易遗漏;人工分类,效率比较低,
7、速度比较慢,更新不及时。目录搜索引擎中最具代表性的如Yahoo(雅虎)。2.1.3元搜索引擎元搜索引擎,即指在统一的用户查询界面与信息反馈的形式下,共享多个搜索引擎的资源库为用户提供信息服务的系统,又称作搜索引擎之上的搜索引擎。元搜索引擎自身没有建立存储网页信息的数据库7,而是将用户的查询请求同时传送至多个包含数据库的搜索引擎,并行地访问数个搜索引擎来查询这个关键词,然后对各搜索引擎返回的结果进行去重、排序等整理,最终响应给检索用户。严格意义上来讲,元搜索引擎只能算是一种用户代理,而不是真正的搜索引擎。目前,没有一个搜索引擎能涵盖整个Internet,各搜索引擎的收录范围又有所差异,因此这类元
8、搜索受到了一定程度的关注,特别适合于对查全率要求高的查询。但是,不同的搜索引擎之间,建立索引数据库和执行提交检索的具体方法或规则并不相同,因此,大大影响了元搜索的检索效果。2.2搜索引擎工作原理搜索引擎的工作原理基本都是一样的10,利用一个叫网络蜘蛛的程序在网络上爬行,自动地遍历Web来获得的网络信息并保存到本地服务器中。因此,我们通常所说的搜索引擎并不是真正的在搜索互联网,而是通过用户提供的关键词,搜索引擎再根据此关键词进行对其服务器的数据库进行搜索。为了保证用户查找信息的精度和及时,搜索引擎需要建立并维护一个庞大的索引数据库,从而能够迅速的从中找到相关的信息。搜索引擎的工作过程一般来说可以
9、看作三大步:从互联网上爬取网页预处理查询服务23,如图1。WWW信息采集器分析索引排序索引库进行检索分析查询结果排序用户查询返回信息处理建立索引图1 搜索引擎工作流程图(1)从互联网上爬取网页事先利用搜索引擎中的蜘蛛程序,自动地从一个种子URL集出发。它能自动扫描与URL相对应的网页,它利用HTML语言的标记结构搜索信息和获取指向其他超文本的URL链接,通过一定搜索策略选择下一个要访问的页面,继而转向另一个链接的页面继续进行信息搜集,如此通过找到新的URL不断爬行,不断搜集页面。从理论上讲,网络蜘蛛可以搜集Internet上所有信息。(2)预处理(建立索引数据库)由蜘蛛程序采集回来的信息,经分
10、析索引系统程序对其进行分析处理,提取相关网页信息(包括网页筛选、页面内容包含的所有关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面文字中及超链中每一个关键词的相关度(或重要性),然后利用这些相关信息建立网页索引数据库。(3)查询服务(在索引数据库中搜索排序)经过以上两个步骤后,当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到与该关键词所有相关的网页。因为所有相关网页针对该关键词的相关度早已按照预设的算法算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。最后,由页面生成系统将搜索结果的链接地址和页
11、面内容摘要等内容组织起来返回给用户。由以上简述可知,网络蜘蛛在整个搜索引擎中是核心组成部分之一。3.网络蜘蛛简介3.1网络蜘蛛在搜索引擎原理中提到过,其数据库是通过网络蜘蛛搜集的网页。那么在具体搜集过程中,如何爬取一篇篇网页,最常见的是通过爬取来找到网页15,23,24。就是将 Web上的网页集合看成一个有向图,搜集过程是从给定的起始URL集合S开始,沿着网页中的链接,按照一定的策略遍历,不停的从S中读取URL,下载相应的网页,并解析出网页中的超链接URL,看是否已经被访问过,将未访问过的那些URL加入集合S。整个过程可以形象地想像为一个蜘蛛在蜘蛛网上爬行。通过前面的描述,可知网络蜘蛛 (Sp
12、ider)它是一种功能很强的基于HTTP协议的网络应用程序。它会定期根据预先设定的地址去查看对应的网页,如网页发生变化则重新获取该网页,否则根据该网页中的链接继续去访问其他页面,如此循环,理论上可以扫描互联网上的所有页面。例如Google,就是利用网络蜘蛛程序来遍历Web站点,以创建并维护这些大型数据库。3.2网络蜘蛛的工作原理及系统结构网络蜘蛛是通过一个给定的初始URL集合25,27,把这个初始URL集合放到URL处理器中;网页读取器根据URL处理器提供的这个初始URL集合,解析URL中标明的Web服务器地址、建立连接、发送请求和接收数据,采集到相应的网页;经过去重检测后,通过URL提取器从
13、网页中提取出新的URL放入URL处理器;并将其存入数据库中;由标签信息获取器获取相应的标签,分两个方向分别将其存入URL处理器中和存入数据库中保存;如此反复采集、处理数据,直到网页读取器要求停止(URL处理器中URL集合为空)为止。一般来说网络蜘蛛采集是模拟人浏览网站的过程进行对网页采集的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都爬取完为止。按这个原理来,如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都下载下来。根据以上工作过程,可以得到网络蜘
14、蛛的基本结构22如图2所示。www网页读取器URL处理器初始URL集合标签信息获取器URL提取器数据库网页去重检测图2 网络蜘蛛的基本结构图3.2.1URL处理器URL处理器是根据先进先出的策略向网页读取器分配URL。URL采取一个队列11,13,16,以达到更快的处理速度。URL处理器主要有两个数据来源:1)初始的种子URL集,如图2所示;2)从URL提取过来的URL集,它们是从已经读取到的页面中抽取出来并经过处理的。页面的标题及摘要等信息,来自标签信息获取器,它们主要用来显示从URL提取器中传递过来的URL和重要性,为在队列中进行排序提供依据。3.2.2网页读取器通过各种Web协议来完成资
15、料的采集。一般来说协议包括http、ftp等。但从主流上看,仍以http为主。根据分配的URL通过各种Web协议来爬取页面并读取页面内容。3.2.3网页去重检测网络上的资源,网页中的内容经常被其他网站、网页引用,蜘蛛程序找到的网页有很多重复的,如不进行网页重复内容的检测过滤,将极大的浪费了网络带宽和系统的运行效率。因此,重复内容检测是网络蜘蛛中的重要组成部分。3.2.4URL提取器在采集到的要读取的页面,通过网页去重检测后,需要分析其中的链接,进行抽取超链,这些任务由URL提取器来完成。首先判别页面类型,对类型为“html和htm”等的页面进行链接分析。页面的类型可在HTTP应答头的分析中得到
16、,也可以通过分析URL中的文件扩展名来得到。超链接的标记总共包括、和等。总的来说,要提取页面的URL,主要是根据关键词href和src来提取即可5,18,26。3.2.5标签信息获取器标签信息获取,包括提取页面的标题、页面的摘要等。主要目的是在没有对页面内容进行语义信息理解的前提下,尽可能多的挖掘出HTML标签、结构等信息,对从页面中提取出来的URL质量的好坏给出一个度量,并将其与已访问过的URL表进行比较,将未在表中出现的URL传输到URL处理器,对待提取URL队列进行排序。3.2.6数据库数据库中存储着采集下来的网页的URL、网页标题、网页摘要等,这些数据用于建立索引数据库时非常重要。3.
17、3网络蜘蛛的搜索策略在网络蜘蛛进行爬取网页时,通用搜索引擎的网络蜘蛛将网络上的各个页面及各页面之间的链接看成一个有向图,每个页面作为图的节点,页面中的链接看成是图的有向边,这样就可以用一定的有向图遍历法对其进行遍历。因此在设计通用搜索引擎时,常用的网络蜘蛛搜索策略有两种:基于广度优先(Breadth First)和基于深度优先(Depth First)两种搜索策略19。与通用搜索引擎不同的是,主题搜索引擎的网络蜘蛛是只服务于特定人群的搜索引擎,其索引的内容也只限于特定主题或专门领域,因而在搜索过程中不须对整个Web进行遍历,只需选择与主题相关的网页进行访问并建立索引数据库即可。3.3.1广度优
18、先策略广度优先搜索策略是指在爬取过程中,先完成爬取起始网页中链接的所有网页,然后再选择其中的一个链接,继续爬取在此网页中链接的所有网页。直到完成所有层的爬取。在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。因为这个方法可以让网络蜘蛛并行处理,提高其爬取速度。同时也保证了对浅层的首先处理。从而爬取相对来说更为重要的网页。但是如果要遍历一个指定的站点或者深层嵌套的HTML文件集,用广度优先搜索策略这样一层一层爬取则需要花费比较长的时间才能到达深层的HTML文件。3.3.2深度优先策略深度优先策略是指网络蜘蛛从起始页开始,顺着HTML文件上的超链接直到不能再深入为止,然后返回到上一个接点的HT
19、ML文件,再继续选择该HTML文件中的其他超链接。当不再有其他超链接可选择时,说明搜索已经结束。深度优先搜索适宜遍历一个指定的站点或者深层嵌套的HTML文件集,但对于大规模的搜索,由于Web结构相当深,有可能永远也出不来了。图3对这两种搜索策略作了更加直观的说明。GFAEHICDBGFAEHICDB广度优先爬取顺序: 深度优先爬取顺序: A-B.C.D.E.F-H.G-I A-F-G E-H-I 图3 两种算法的爬取顺序图在搜索策略的选择上,MarcNajork等人研究证明,网络蜘蛛采用广度优先搜索策略爬行的网页质量要比采用深度优先搜索策略的要好20,23,因此,大多数网络蜘蛛的设计采用广度优
20、先搜索策略或者结合多种搜索策略的策略。大型搜索引擎在设计网络蜘蛛时,像百度等其他一些通用搜索引擎,由于Internet上网页数量非常大,它的网络蜘蛛不可能爬取所有的网页,因此网络蜘蛛对一些不太重要的网站,限定了对网站访问的层数。在图3中,设A为起始网页,属于0层,那么与A直接相连的B、C、D、E、F就属于第1 层,依次类推G、H属于第2层,I属于第3层。如果网络蜘蛛设置的访问层数为1的话,网页G、H、I就不会被访问到。这也就是为什么有些网站上一部分网页能够在搜索引擎上搜索到,而网站中的另外一部分网页不能被搜索到。但是即使这样设计了,其数据量级别还是很大,而且范围也很广,所以大型搜索引擎的网络蜘
21、蛛设计都是采用分布式系统结构的17。据有关研究表明25,而采用分布式系统结构设计的网络蜘蛛其爬取得到的网页质量不如单一结构的网络蜘蛛所爬取得到的网页质量高。校园网的数据量相比于亿量级的数据量,并不大,所以在本次设计中,没有采用分布式系统结构设计其网络蜘蛛。3.3.3主题网络蜘蛛的搜索策略主题搜索引擎的网络蜘蛛,它只服务于一定的人群,因此采集信息时也只采集与主题相关的信息。主题搜索引擎其网络蜘蛛的搜索策略有很多种,以下简单介绍这些搜索策略。基于内容评价的搜索策略8,12,17,19,是由传统信息检索中的文本检索的思想转变过来的。即利用文本相似度的计算方法评价页面文本与主题集(如关键词、主题相关文
22、档)之间相似程度,再根据其相似程序确定访问页面的顺序。基于链接结构评价的搜索策略,利用页面的结构特征和链接的重要性,来决定搜索顺序。它有两种算法,分别是Page-Rank和HITS,前者原先用于对查询结果的排序,近几年被用于网络蜘蛛对链接重要性的评价;后者根据网页出入度确定网页的重要性。基于巩固学习的搜索策略,利用Web信息资源的相似性,先对网络蜘蛛进行一些训练,使其具备一些经验信息,再利用这些经验信息指导搜索。4.平台选择与关键技术4.1平台的选择.NET平台与JAVA平台都是当前两大流行的设计平台。这两大平台有各自的特点,都有非常强大的功能,都可以满足我们设计的需要。JAVA平台提供给我们
23、的是平台中立和可移植性,我们可以在WIN系统下或其他系统下开发项目,经过一次编译就可以在其他系统下运行;而.NET平台提供给我们的是可视化的开发界面,使初学者较容易上手,丰富的组件库可以使开发者轻松许多。考虑到初次设计这种要求较高的应用程序,我们这里选择.NET平台。4.2语言的选择前面讲到我们选择.NET作为我们的开发平台,在语言选择上,我们选择相对来说较为熟悉的C#语言作为本次设计的首选语言。4.3 I/O与数据流简介I/O一般指输入(input)/输出(output)系统,它本身提供应用程序与外部沟通的一种方式。数据流,是一个用于传输数据的对象,数据的传输也有两个方向:(1)如果数据从外
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园网 搜索引擎 分析 设计