小型搜索引擎的设计与实现.doc_第1页
小型搜索引擎的设计与实现.doc_第2页
小型搜索引擎的设计与实现.doc_第3页
小型搜索引擎的设计与实现.doc_第4页
小型搜索引擎的设计与实现.doc_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连民族学院 2005 届信息与计算科学专业本科毕业论文 1 摘摘 要要 互联网上的信息每天都以指数量级的速度爆炸性增长,面对如此浩 瀚的资源,搜索引擎为所有网上冲浪的用户提供了一个入口,所有的用 户都可以从搜索引擎出发到达自己想去的网上任何一个地方。因此它也 成为除了电子邮件以外最多人使用的网上服务。但是,随着信息多元化 的增长,千篇一律的给所有用户提供同一个入口显然已经不能满足特定 用户更深入的查询需求。本文首先详细介绍了基于英特网的搜索引擎的 系统结构,然后从网络机器人、索引引擎、Web 服务器三个方面进行详 细的说明。 这不仅对政府、企业、院校的发展极为不利,还在宏观上成为制约 我国信息化建设健康良性发展的一大障碍。 搜索引擎不是单纯的技术问题。在互联网时代,哪一个公司掌握了 包括搜索引擎、信息传递在内的基础软件,它就能在竞争中傲视群雄; 哪一个国家掌握和普及了这些技术,她就能在运用互联网的商业竞争占 尽先机。 关键词:搜索引擎,网络机器人,优化策略,索引关键词:搜索引擎,网络机器人,优化策略,索引 小型搜索引擎的设计与实现 曹成 2 Abstract Information on the Internet grows explosively every day. Search engine provides all the surfers on it with an entrance, from which they can reach every corner of the web. Therefore, search engine becomes the most popular network service second to email. With information continuing to explode in all directions, however, some specific kinds of users are not satisfied with only one entrance. This article fist introduces the system structure of search engine based on the internet in detail, then gives a minute explanation form Spider search, engine and web server. This not only is extremely disadvantageous to the development of the government, business enterprise, college, but also become to make on the macro view the roughly our country information turns a big obstacle of the positive development in health in developments. Searching for the engine is not a pure technique problem.Look down upon the group of heroes in Internet ages, which companies control include manhunt engine, information deliver foundation in inside software, it can in the competition;Which nations controled with made widely available these techniqueses, she can occupy at the business that make use of the Internet competition exhausted first timing. Key words: Search Engine,Robot,Optimize Strategies,Index 目录 摘 要.1 大连民族学院 2005 届信息与计算科学专业本科毕业论文 3 Abstract.2 第一章第一章 概概 述述.5 1.11.1 引言引言.5 1.21.2 课题的基本内容课题的基本内容.6 1.2.1 搜索引擎三段式工作流程:.6 1.31.3 开发环境开发环境.7 第二章第二章 搜索引擎的技术概要搜索引擎的技术概要.9 2.12.1 搜索引擎简述搜索引擎简述.9 2.22.2 基于基于 I INTERNETNTERNET的搜索引擎的构成的的搜索引擎的构成的.10 2.2.1 网络蜘蛛.10 2.2.2 索引.10 2.2.3 搜索引擎软件.10 2.32.3 搜索引擎的主要指标及其分析搜索引擎的主要指标及其分析.11 第三章第三章 网络机器人网络机器人.12 3.13.1 什么是网络机器人什么是网络机器人.12 3.23.2 网络机器人的结构网络机器人的结构.12 3.2.1 网络机器人(SPIDER)的组成.12 3.33.3 HTMLHTML 语言语言.13 3.43.4 网络机器人的实现及代码分析网络机器人的实现及代码分析.14 3.4.2 结点的结构体.15 3.53.5 关于机器人礼节及关于机器人礼节及ROBOTROBOT. .TXTTXT.20 3.5.1 机器人礼节.20 3.5.2 robot.txt.21 3.6 特点和存在问题.22 第四章第四章 搜索引擎优化策略搜索引擎优化策略.24 4.14.1 站点角度站点角度.24 4.24.2 用户角度用户角度.26 第五章第五章 系统实现及结论系统实现及结论.27 5 52 2 搜索引擎的完成情况搜索引擎的完成情况.27 5 53 3 存在的问题存在的问题.27 5 54 4 心得体会心得体会.27 致谢致谢.27 参考文献参考文献.28 小型搜索引擎的设计与实现 曹成 4 大连民族学院 2005 届信息与计算科学专业本科毕业论文 5 第一章第一章 概概 述述 1.11.1 引言引言 随着计算机技术和互联网技术的飞速发展,人们越来越依靠网络 来查找他们所需要的信息,但是,由于网上的信息源多不胜数,也就是 我们经常所说的Rich Data, Poor Information。所以如何有效的去 发现我们所需要的信息,就成了一个很关键的问题。为了解决这个问题, 搜索引擎就随之诞生。 搜索引擎是仅次于门户的互联网的第二大核心技术,伴随着互联 网的普及和网上信息的爆炸式的增长,它越来越引起人们的重视。 现在在网上的搜索引擎也已经有很多,比较著名的有 Google,AltaVista, Yahoo, InfoSeek, Metacrawler, SavvySearch 等等。国内也建立了很多的搜索引擎,比如:搜狐、新浪、北极星、百 度等等,当然由于它们建立的时间不长,在信息搜索的取全率和取准率 上都有待于改进和提高。 例如:Alta Vista 是一个速度很快的搜索引擎,由于它强大的硬 件配置,使它能够做及其复杂的查询。它主要是基于关键字进行查询, 它漫游的领域有 Web 和 Usenet。支持布尔查询的AND,OR和 NOT,同时还加上最相近定位NEAR,允许通配符和向后搜索(比 如:你可以查找链接到某一页的所有 Web 站点) 。你可以决定是否对搜 索的短语加上权值,在文档的什么部位去查找它们。能够进行短语查询 而不是简单的单词查询的优点是很明显的,比如,我们想要查找一个短 语to be or not to be,如果只是把它们分解成单词的话,这些单词 都是属于 Stop Word,这样这个查询就不会有任何结果,但是把它当作 一个整体来查询,就很容易返回一些结果,比如关于哈姆雷特或者是莎 士比亚等等的信息。系统对查询结果所得到的网页的打分是根据在网页 中所包含的你的搜索短语的多少,它们在文档的什么位置以及搜索短语 在文档内部之间的距离来决定的。同时可以把得到的搜索结果翻译成其 他的语言。 信息系统中的数据获取主要就是主要查找那些包含用户查询中的关 键词文档。由于用户查询常常不能准确地表达用户的信息需求。实际上, 用户更多的是希望获取于某个主题相关的信息,而非那些仅仅满足查询 的数据。 如果不能很好的解决搜索问题,在收集信息、从事内容方面的花费 小型搜索引擎的设计与实现 曹成 6 的人力物力越大,其浪费就越大。这不仅对政府、企业、院校的发展极 为不利,还在宏观上成为制约我国信息化建设健康良性发展的一大障碍。 搜索引擎不是单纯的技术问题。在互联网时代,哪一个公司掌握了 包括搜索引擎、信息传递在内的基础软件,它就能在竞争中傲视群雄; 哪一个国家掌握和普及了这些技术,她就能在运用互联网的商业竞争占 尽先机。 1.21.2 课题的基本内容课题的基本内容 本课题的主要是设计和实现一个小型的搜索引擎,通过大量的学习, 实现搜索引擎的主要功能和完成全部的设计工作。 搜索引擎的基本原理是通过网络机器人定期在 web 网页上爬行,然 后发现新的网页,把它们取回来放到本地,用户的查询请求可以通过查 询本地的数据来得到。如 yahoo 每天会找到大约 500 万个新的网页, google 可以达到 80 亿网页以及 10 万台服务器共同工作。 搜索引擎的实现机制一般有两种: 一种是通过手工方式对网页进行索引,比如 yahoo 的网页是通过手 工分类的方式实现的,它的缺点是 Web 的覆盖率比较低,同时不能保证 最新的信息。查询匹配是通过用户写入的关键字和网页的描述和标题来 进行匹配,而不是通过全文的匹配进行的。 第二种是对网页进行自动的索引,像 AltaVista 则是完全通过自 动索引实现的。这种能实现自动的文档分类,实际上采用了信息提取的 技术。但是在分类准确性上可能不如手工分类。 .1 搜索引擎三段式工作流程:搜索引擎三段式工作流程: 1. 搜集:定期搜集,每次搜集替换上一次的内容,我们称之为“批 量搜集” 。 主要内容包括:文本内容的分析与提取、超文本连接 的提取与解析、网络通信及信息获取。搜索引擎一般都有一个 Robot(或者称为 Spider)定期的访问一些站点,来检查这些站点 搜搜 集集 A A 整整 理理 B B 服服 务务 C C 大连民族学院 2005 届信息与计算科学专业本科毕业论文 7 的变化,同时查找新的站点。一般站点有一个 robot.txt 文件用 来说明服务器不希望 Robot 访问的区域,Robot 都必须遵守这个 规定。如果是自动索引的话,Robot 在得到页面以后,需要对该页 面根据其内容进行索引,根据它的关键字的情况把它归到某一类 中。页面的信息是通过元数据的形式保存的,典型的元数据包括 标题、IP 地址、一个该页面的简要的介绍,关键字或者是索引短 语、文件的大小和最后的更新的日期。尽管元数据有一定的标准, 但是很多站点都采用自己的模板。文档提取机制和索引策略对 Web 搜索引擎的有效性有很大的关系。 2. 整理:我们将对关键词进行提取,也就是把网页中的文本内容提 取出来;由于在互联网上,网页的重复率平均大约为 4,所以会对 内容完全相同的页进行消除(我们将以改进的 TWFormat 格式存储) 。主要内容是文本信息的存储与索引:互联网上大部分信息都是 以 HTML 格式存在,对于索引来说,只处理文本信息。因此需要把 网页中文本内容提取出来,过滤掉一些脚本标示符和一些无用的 广告信息,同时记录文本的版面格式信息。存储在我们这里是在 网页种文本内容提取和过滤掉脚本语言后,将其存为 HTML 格式 和 TXT 格式,并且命名为 Sitemap.htm 和 Sitemap.txt。 3. 服务:因为要对最终用户服务,搜索引擎返回给用户的,是一个 和用户查询相关的结果列表。因此要进行:查询方式和匹配和结 果排序。 1.31.3 开发环境开发环境 开发平台:Microsoft Windows XP Sp2; 开发工具:Microsoft Visual C+ Sp6; 使用语言:C+; 本系统使用 Visual C+ 6.0 集成开发环境,它功能强大而且便于 设计交互界面。在设计的使用了由 David Pullman 编写的 CRobotInternet 类体,方便了开发和加快了工程进度;而且微软提供 的 Winnet 类是一个应用层的网络通信组件,它可以使应用程序很容易 的实现 http、ftp、gopher 等协议而不需要你去深入的了解协议本身的 规范,方便了开发者。 小型搜索引擎的设计与实现 曹成 8 第二章第二章 搜索引擎的技术概要搜索引擎的技术概要 大连民族学院 2005 届信息与计算科学专业本科毕业论文 9 2.12.1 搜索引擎简述搜索引擎简述 第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于 1,000,000个网页,极少重新搜集网页并去刷新索引。而且其检索速 度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上也基本沿 用较为成熟的IR(Information Retrieval) 、网络、数据库等技术,相 当于利用一些已有技术实现的一个WWW上的应用。在1994年3月到4月, 网络爬虫World Web Worm (WWWW)平均每天承受大约1500次查询。 2000年搜索引擎2000年大会上,按照Google公司总裁Larry Page的 演讲,Google正在用3,000台运行Linux系统的个人电脑在搜集Web上的 网页,而且以每天30台的速度向这个微机集群里添加电脑,以保持与网 络的发展相同步。每台微机运行多个爬虫程序搜集网页的峰值速度是每 秒100个网页,平均速度是每秒48.5个网页,一天可以搜集超过 4,000,000网页。 搜索引擎一词在国内外因特网领域被广泛使用,然而他的含义却不 尽相同。在美国搜索引擎通常指的是基于因特网的搜索引擎,他们通过 网络机器人程序收集上千万到几亿个网页,并且每一个词都被搜索引擎 索引,也就是我们说的全文检索。著名的因特网搜索引擎包括First Search、Google、HotBot等。在中国,搜索引擎通常指基于网站目录的 搜索服务或是特定网站的搜索服务,这里我们研究的是基于因特网的搜 索技术。 国内最早面世的的搜索引擎是“悠游”这是世界上第一个中文智能 搜索引擎,于1997年投入使用。它是以香港中文大学的研究成果为基础、 专为中文设计开发的产品。 在本章中,我们将一次讲述搜索引擎的构成、工作原理及搜索引擎 的主要指标及其分析。 2.22.2 基于基于 InternetInternet 的搜索引擎的构成的的搜索引擎的构成的 搜索引擎根据用户的查询请求,按照一定的算法从索引数据中查询 对应的信息并返回给用户。为保证搜索引擎必须建立并维护一庞大的索 引数据库。而一般搜索引擎主要由网络蜘蛛,索引与搜索引擎软件组成。 小型搜索引擎的设计与实现 曹成 10 .1 网络蜘蛛网络蜘蛛 又称“爬行者”(Crawler或Web Robot),是一个功能强大的程序。 它会根据预先的设定的地址去查看对应的网页,如果网页发生变化则重 新获取该网页,否则继续访问。网络蜘蛛访问页面的过程是对互联网上 信息遍历的过程,为了保证网络蜘蛛遍历信息的广度,一般事先设定一 些重要的链接,然后对这些链接进行遍历,在遍历过程中不断记录网页 中的链接。 .2 索引索引 网络蜘蛛将遍历到的网页存放在临时数据库中。为提高检索的效率, 需要按照。如果有时索引不能被及时更新,网络蜘蛛带回的新信息就不 能被使用搜索引擎的用户查到了。因此,可以得到下面的结论:新信息 更新的周期等于网络蜘蛛停止时间加上遍历的时间加上索引的时间。 .3 搜索引擎软件搜索引擎软件 该软件用来筛选索引中无数的网页信息,挑选出符合查询要求的网 页并将它们进行分级排序,与查询的关键字关联越大的排得越靠前,然 后将分级排序后的结果显示给用户。 但是根据专家的测评,目前的搜索引擎返回的相关结果的比率不足 45%,而且由于机制、范围、算法等的不同,导致同样一个检索请求在 不同搜索引擎的查询结果的重复率不足34%。 2.32.3 搜索引擎的主要指标及其分析搜索引擎的主要指标及其分析 搜索引擎的主要指标有响应时间、召回率、准确率、受欢迎程度、 建立索引的方法和相关度等。这些指标决定了搜索引擎的技术指标。搜 索引擎的技术指标决定了搜索引擎的评价指标。好的搜索引擎应该是具 有较快的反应速度和高召回率、准确率的,当然这些都需要搜索引擎技 术指标来保障。 大连民族学院 2005 届信息与计算科学专业本科毕业论文 11 召回率召回率:一次搜索结果中符合用户要求的数目与用户查询相关信息的总数之 比 准确率准确率:一次搜索结果中符合用户要求的数目与该次搜索结果总数之比 相关度相关度:用户查询与搜索结果之间相似度的一种度量 精确度精确度:对搜索结果的排序分级能力和对垃圾网页的抗干扰能力 响应时间、召回率、准确率和受欢迎程度为搜索引擎的主要评价指 标。建立索引的方法和相关度是搜索引擎有代表性的技术指标。搜索引 擎的技术指标决定了搜索引擎的评价指标。好的搜索引擎因具有应具有 较快的响应速度和高召回旅和准确率,这些当然都需要搜索引擎技术指 标来保障。 第三章第三章 网络机器人网络机器人 3.13.1 什么是网络机器人什么是网络机器人 网络机器人又称为Spider程序,是一种专业的Bot程序。用于查找大 量的Web页面。它从一个简单的Web页面上开始执行,然后通过其超链 接在访问其他页面,如此反复理论上可以扫描互联网上的所有页面。 基于因特网的搜索引擎是Spider的最早应用。例如搜索巨头Google 公司,就利用网络机器人程序来遍历Web站点,以创建并维护这些大型 数据库。 小型搜索引擎的设计与实现 曹成 12 网络机器人还可以通过扫描Web站点的主页来得到这个站点的文件 清单和层次机构。还可以扫描出中断的超链接和拼写错误等。 3.23.2 网络机器人的结构网络机器人的结构 .1 网络机器人(网络机器人(SPIDERSPIDER)的组成)的组成 SPIDER(也称为 CRWALER 或 Web Robot)搜集的过程主要是的 工作过程。SPIDER 要获取的对象是存在于网络上数以亿计的网页,这 些网页以超链接形式互相联系在一起,每一网页对应一个超链接,也称 统一资源定位符。我们可以把网络看做一个图,网络中的网页构成节点 集,他们之间的链接构成边集,SPIDER 正是从某一节点开始沿着边遍 历图,每访问到图中一个节点,就进行一定的处理。 当 SPIDER 程序访问到一个网页,必须进行以下几项基本处理: A,抽取网页中包含的文本; B,抽取网页中包含的 URL 并将其区分。 SPIDER 工作过程:工作过程: Step1:给 SPIDER 程序赋予一个初始 URL,加入等待队列。 Step2:启动。 Step3:查询等待队列中是否有 URL,若没有,且无其他活动线程;线程 结束,若有 Step4。 Step4:从 URL 等待对列中取出一个 URL 并移入运行队列,根据该 URL 去访问,并进行网页下载, 抽取文本,抽取链接等工作,若网页 中包含同网站 URL 则将这些 URL 加入等待队列;把访问过的 URL 加 入完成队列,转 Step3。 SPIDER 搜集的过程: Output 抓抓 取取提提 取取 URL原始网页原始网页网页结构网页结构 大连民族学院 2005 届信息与计算科学专业本科毕业论文 13 3.33.3 HTMLHTML 语言语言 因为Web中的信息都是建立在HTML协议之上的,所以网络机器人在 检索网页时的第一个问题就是解析HTML。HTML是在WWW上建立的超文本 的语言,它通过标记和属性对一段文本的语言进行描述。在解决如何解 析之前,首先来介绍下HTML中的几种数据。 文本:文本:除了脚本和标签之外的所有数据 注释:注释:程序员留下的说明文字,对用户是不可见的 简单标签:简单标签:由单个表示的HTML标签 开始标签和结束标签:开始标签和结束标签:用来控制所包含的HTML代码 我们在进行解析的时候不用关心所有的标签,只需要对其中几种重 要的进行解析即可。 超连接标签超连接标签 超连接定义了WWW通过Internet链接文档的功能。他们的主要目的 是使用户能够任意迁移到新的页面,这正是网络机器人最关心的标签。 Version1.0 url: URL origin: / original URL date: Tue, 15 Apr 2003 08:13:06 GMT / time of harvest ip: 2 / IP address length: 18133/ data length / a blank line XXXXXXXX/ Data part / a blank line 小型搜索引擎的设计与实现 曹成 14 图像映射标签图像映射标签 图像映射是另一种非常重要的标签。它可以让用户通过点击图片来 迁移到新的页面中。 表单标签表单标签 表单是Web页面中可以输入数据的单元。许多站点让用户填写数据 然后通过点击按钮来提交内容,这就是表单的典型应用。 表格标签表格标签 表格是HTML的构成部分,通常用来格式化存放、显示数据。 3.43.4 网络机器人的实现及代码分析网络机器人的实现及代码分析 .1程序结构图程序结构图 Search 整体类图: CRobotCrawl 结构示意图: 大连民族学院 2005 届信息与计算科学专业本科毕业论文 15 .2 结点的结构体结点的结构体 structstruct URL_PageURL_Page boolbool Visited_URL;Visited_URL; /链接是否访问过链接是否访问过 0-0-未访问未访问 1-1-访问过访问过 intint SeqNum;SeqNum; /从从 0 0 开始给链接的自动编号开始给链接的自动编号 CStringCString AbsolutURL;AbsolutURL; /链接的绝对链接的绝对 URLURL CStringCString URLContext;URLContext; /链接的说明文字链接的说明文字 CStringCString sLinks;sLinks; /相对链接相对链接 intint ContextValue;ContextValue; /链接说明文字信息的价值链接说明文字信息的价值 intint ImmediateReward;ImmediateReward; /链接包含关键字链接包含关键字.PDF,.DOC,.PS.PDF,.DOC,.PS 的个数的个数 intint outlink50;outlink50; /存放本页指出的网页存放本页指出的网页 IDID intint inlink30;inlink30; /存放其他网页包含本页链接,保存该网页的存放其他网页包含本页链接,保存该网页的 IDID doubledouble hubscore;hubscore; /本页的本页的 HUBHUB 值值 doubledouble authorityscore;authorityscore; /本页的本页的 authorityscoreauthorityscore 值值 ; HITSHITS 算法:算法: Kleinbergs original work including the CLEVER Project at IBM 该算法认为每个 WEB 页面都有被指向作为“Authority”(权威 good source of contents)和指向其他页面作为“Hub” (中心 good source of links)的两方面的属性。 HITS(HyperlinkInduced Topic Search)算法是利用 Hub/Authority 方法的搜索方法,算法如下: 将查询 q 提交给传统的基于关键字匹配的搜索引擎搜索引擎返回 很多网页,从中取前 n 个网页作为根集 root set),用 S 表示。S 满足 如下 3 个条件: 1S 中网页数量相对较小 2S 中网页大多数是与查询 q 相关的网页 3S 中网页包含较多的权威网页 一个受尊敬的权威网页就是许多可靠的中心网页所提到的网页;而 一个有用的中心则是指向许多有价值的权威网页。他们的计算公式如下: 小型搜索引擎的设计与实现 曹成 16 链接到的页面)是所有页面其中 的页面是所有链接到其中 pqi qiApH pqi qiHpA ( )()( )( )()( HITS 算法的求解过程如下: 1、将所有页面(根集页面)的 A 和 H 赋予初值。 2、根据上面的公式计算新一轮的 H 和 A 的值。 3、规范化结果 4、重复 2、3、直到结果收敛。 权威网页(权威网页(AuthorityAuthority)和中心网页()和中心网页(HubHub):): 权威网页(权威网页(AuthorityAuthority) ,顾名思义,是给定主题底下的一系列重要 的权威的网页。其重要性和权威性主要体现在以下两点: 第一点,从单个网页来看,它的网页内容本身对于这个给定主 题来说是重要的; 第二点,从这个网页在整个互联网重的地位来看,这个网页是 被其他网页承认为权威的,这主要体现在跟这个主题 相关的很多网页都有链接指向这个网页。 由此可见,权威网页对于主题搜索引擎的实现有很重大的意义。主 题搜索引擎一个很关键的任务就是从互联网上无数的网页之中最快最准 的找出这些可数的权威网页,并为他们建立索引。这也是有效区别主题 搜索引擎和前三代传统通用搜索引擎的重要特征。 中心网页(中心网页(HubHub) ,是包含很多指向权威网页的超链接的网页。最典 型中心网页的一个例子是 Yahoo!,它的目录结构指向了很多主题的权 威网页,使得它兼任了很多主题的中心网页。由中心网页出发,轻而易 举的就会到达大量的权威网页。因此,它对于主题搜索引擎的实现也起 了很大的意义。 权威网页和中心网页之间是一种互相促进互相促进的关系:一个好的中心网 页必然要有超链接指向多个权威网页;一个好的权威网页反过来也必然 被多个中心网页所链接;。他们的关系如图 3.1 所示。 权威网页权威网页 中心网页中心网页 图图 3.1 权威网页和中心网页权威网页和中心网页 权威网页权威网页 权威网页权威网页 中心网页中心网页 大连民族学院 2005 届信息与计算科学专业本科毕业论文 17 小型搜索引擎的设计与实现 曹成 18 计算网页的计算网页的 authorityscoreauthorityscore 值:值: for(i=0;ihttpGet(m_sServer + /robots.txt, m_sRobotPolicy, nResult, sErrMsg)m_bRobotPolicyExists = true; else m_bRobotPolicyExists = false; / End if 是否遵循标准 /-初始化根结点(种子页初始化)- for(i_num=0;i_numIn_MAX;i_num+)m_URL0.inlinki_num=-1; 大连民族学院 2005 届信息与计算科学专业本科毕业论文 19 for(i_num=0;i_numRobotExcluded(m_sRobotPolicy,(m_URLn_URL.AbsolutURL) bReturnValue = false; goto Finished; / End if / End if 检测是否提供访问 /逐次访问数组中的元素 while(nMAX_URLS) . 网络机器人运行流程图:网络机器人运行流程图: 网络机器人运行后,抓取网络机器人运行后,抓取 的截图:的截图: 小型搜索引擎的设计与实现 曹成 20 网络机器人运行后,抓取的网络机器人运行后,抓取的 HTMLHTML 文本:文本: 大连民族学院 2005 届信息与计算科学专业本科毕业论文 21 3.53.5 关于机器人礼节及关于机器人礼节及 robot.txtrobot.txt .1 机器人礼节机器人礼节 大多数系统管理员乐于让别人索引他们的页面,让公众获取他们的 信息,可是运行拙劣的机器人也很容易激起他们的愤怒,所以要记住下面 机器人指南: 1)标识你自己和你的机器人。机器人应该配置 USER-AGENT 以标识 它自己,并附加一个电子邮件地址,使得对你的机器人有问题的人可以 与你联系。 2)当机器人运行时,不要离开它,以应保持对机器人的控制。 3)本地运行检查。尽量先在本地的局域网上检查你的机器人,进行 各种可能情况的测试,有把握后再将其收到 Internet 上。 4)遵守 robots.txt 文件中的限制。不要触及管理员只想留在自己 系统的非出版信息。 5)在适当的时间运行你的机器人。站点一般都有负荷较轻的时候, 如果你决定对某一站点进行多次自动访问,最好事先了解其最佳访问时 间。 6)共享结果。将搜索结果在网上公布,使大家都可以访问到。 .2 robot.txtrobot.txt 在 1993 年与 1994 年间,由于搜索引擎刚刚出现,对于网络机器人 行为的约束还没有统一的标准。那时的网络机器人有机会访问不欢迎它 们的网站。在网络上,几乎不可不与其它网站链接,只要随着网页中的 链接进入别的网站,别的网站便可能得知访问者的网址,并可能将其列 入引用记录之中。因此,只要有一个链接,网络机器人就可能找到那些 “秘密”的网站。 robot.txt 作为网络机器人的控制策略文件必须做如下的考虑: 1.文件必须符合大多数操作系统得命名规则; 2.文件扩展名不需要另外的服务器配置; 3.文件名应该表明该文件的意图而且易记; 4.于其它文件的冲突的尽可能地小。 文件“/robot.txt”的格式和对应的语义如下: 该文件由一个或多个记录组成,记录之间通过一个或多个空行分隔。 小型搜索引擎的设计与实现 曹成 22 记录具有如下的形式: : 注释通过“#”来表示,所以“#”开头的行都被认为是注释行。注释只 是便于服务器管理员在书写对网络机器人的控制策略时作为注释,在处 理过程中将被忽略。 每个记录以一个或多个 User-agent 行开始,后面跟随一个或者多 个 Disallow 行。 用户代理(用户代理(User-agentUser-agent):): User-agent 域用来说明记录访问策略所针对的网络机器人的名字。 如果使用了多个 User-agent 域,则表示同一种访问策略被应用在多个 网络机器人上,每个记录至少要有一个域。 网络机器人在解释这些域的时候有那个该采用比较宽松的策略,比 如,不区分大小写,字串匹配,没有版本信息等。 如果域的值为“*” ,则表明该记录为所有网络机器人的默认访问策 略。在一个“robot.txt”中不允许出现多个记录。如果网络机器人有 对应的访问策略匹配,则使用对应的访问策略。 DisallowDisallow 域域 该域指明了一个不允许访问的 URL 路径。该路径可以使全局路径或 者是局部路径。所以该 URL 开始的 URL 都不允许被访问。 例如:Disallow:/my 将不允许访问/my.html/和 /my/index.html,而 Disallow:/my/将不允许访问/my/index.html 但 是允许访问/my/html。任何空值表明所有 URL 都可以被访问。每个记录 包含一个 Disallow:域。 如果文件“/robot.txt”中没有显式关联的语义信息,它将被认为 不存在,也就是说所有网络机器人都认为可以访问该服务器上的信息。 3.63.6 特点和存在问题特点和存在问题 由于 Robot 能够快速的、周期性地测览 Web,获取最新的信息,所以 基于 Robot 的资源发现工具一般都可以建立并维持较大规模的索引数据 库。其优点是信息量大、更新及时,毋需人工干预。 缺点是返回信息过多,有很多无关信息,用户必须从结果中进行筛选;能 自动从互联网上收集网页的数据并充实到本地数据库中,定期检查网页 是否更新或链接是否失效,同时需要比较哪些是重复信息;互联网上互相 转载的内容相当多,重复信息也很多,识别它们需要经过很多处理,另外 大连民族学院 2005 届信息与计算科学专业本科毕业论文 23 变化无穷的动态网页还会对其运行产生影响等等。而传统的数据搜索只 是搜索自身数据库的内容,或者用户登记到数据库的信息,信息量太少。 例如,AltaVista 的索引数据库包含 3100 万个 Web 页,Excite 则包 含约 5000 万个 Web 页,Lycos 有近 7000 万个 URL 索引。这些工具 因为拥有大量的网页信息,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论