收藏 分销(赏)

搜索引擎本科毕业论文.doc

上传人:胜**** 文档编号:2959398 上传时间:2024-06-12 格式:DOC 页数:64 大小:1.81MB
下载 相关 举报
搜索引擎本科毕业论文.doc_第1页
第1页 / 共64页
搜索引擎本科毕业论文.doc_第2页
第2页 / 共64页
搜索引擎本科毕业论文.doc_第3页
第3页 / 共64页
搜索引擎本科毕业论文.doc_第4页
第4页 / 共64页
搜索引擎本科毕业论文.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、湖 南 科 技 大 学毕 业 设 计( 论 文 )题目基于java技术的搜索引擎的研究与实现作者陈祖德学院计算机科学与工程专业计算机科学与技术学号0605010201指导教师符开耀二一 年 六 月 六 日湖南科技大学毕业设计(论文)任务书 计算机科学与工程 学院 计算机科学与技术 系(教研室)系(教研室)主任:(签名)年 月 日学生姓名: 陈祖德 学号: 0605010201 专业: 计算机科学与技术 1 设计(论文)题目及专题: 基于Java技术的搜索引擎的研究与实现 2 学生设计(论文)时间: 自 1 月 1 日开始至 6 月 10 日止3设计(论文)所用资料和参考资料: (美)克罗夫特.

2、 搜索引擎-信息检索实践M.北京:机械工业出版社,2009.10. 卢亮等. 搜索引擎原理、实践与应用M.北京: 电子工业出版社. 2007.9. 王亮. 搜索引擎零距离:基于Ruby+Java搜索引擎原理与实现M.北京:清华大学出版社,2009. 施平安等, Java程序设计教程(第5版)M.北京:清华大学出版社,2004.3. 其他Java方面的资料. 充分利用网络资源. 4设计(论文)完成的主要内容: 搜索引擎的结构分析; 搜索引擎策略研究; 分析网络机器人(spider); 基于Java技术实现一个搜索引擎,要求操作方便,界面友好. 5 提交设计(论文)形式(设计说明与图纸或论文等)及

3、要求: 可以正确运行的软件一套及其源代码; 符合毕业设计规范的毕业论文一篇(包括电子版和纸质版)。 6 发题时间: 2009 年 12 月 28 日指导教师: (签名)学 生: (签名)湖 南 科 技 大 学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人: (签名)年 月 日 指导人评定成绩: 湖 南 科 技 大 学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人

4、: (签名)年 月 日 评阅人评定成绩: 湖 南 科 技 大 学毕业设计(论文)答辩记录日期: 学生: 学号: 班级: 题目: 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文)说明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名) 答辩成绩: 总评成绩: 摘 要搜索引擎是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,并将处理

5、后的信息显示给用户,是为用户提供检索服务的系统。本文对搜索引擎的原理、组成、数据结构、工作流程等方面做了深入而细致地研究。在理论研究的基础上,本文还利用Java技术对搜索引擎进行了简单的实现。索引和搜索部分借助Lucene全文搜索引擎库中的Java类进行实现。Lucene是Apache软件基金会的一个开源项目,完全由Java实现,适用于需要全文搜索能力的应用程序,并具有良好的跨平台能力。 最后采用JSP(Java server pages)技术设计了一个简易的搜索引擎客户端。关键词:搜索引擎;网络蜘蛛;Java;Lucene;JSPABSTRACTSearch engine is a syst

6、em, which provides retrieval service for users. It is based on certain strategy, using a particular computer program to gather information on the Internet. It returns the processed information to users after the information is organized and processed.This paper does an in-depth research and analysis

7、 on the theory, framework, and data structure of a Web search engine. This paper also uses Java technologies to realize a simple search engine. Index and search part are realized by Java library of the full search engine Lucene. Apache Lucene is an open source software foundation project, completely

8、 realized by Java, applicable to the needs of the full text search ability, and has good application of cross-platform ability. At last ,this paper uses JSP (Java Server Pages) technology to realize an easy user interface of search engine.Keywords: Search Engine, Web spider, Java, Lucene, JSPII湖南科技大

9、学本科生毕业设计(论文)目 录摘 要IABSTRACTII第一章 绪 论11.1 搜索引擎的现状11.1.1 搜索引擎的发展史11.1.2 搜索引擎的分类21.1.3 主要搜索引擎的介绍21.2 搜索引擎的作用31.3 搜索引擎的信息检索模型31.3.1 布尔模型31.3.2 向量模型41.4 建立搜索引擎的关键技术41.5 本章小结5第二章 搜索引擎的体系结构与工作原理62.1 工作原理62.2 体系结构72.2.1 抓取器72.2.2 解析器72.2.3 索引器82.2.4 搜索器82.3 存储结构92.3.1 三种存储结构92.3.2 相互比较92.4 本章小结9第三章 数据抓取和解析技

10、术探究103.1 数据抓取103.1.1 数据抓取策略103.1.2 Spider协议113.1.3 网页抓取应该考虑的问题113.1.4 WebLech简介123.2 数据解析123.2.1 HTML的解析123.2.2 Word的解析123.2.3 Excel的解析133.2.4 PDF的解析133.3 本章小结13第四章 索引与搜索技术探究144.1 建立索引144.1.1 中文分词144.1.2 Lucene索引164.2 数据搜索174.2.1 IndexSearcher进行搜索的相关术语174.2.2 对搜索结果的排序194.2.3 对搜索结果进行过滤204.3 本章小结20第五章

11、 搜索引擎的软件实现215.1 软件开发平台215.2 Java的中文处理225.3 网页解析的实现225.3.1 HTML的解析235.3.2 Word的解析265.3.3 Excel的解析265.3.4 PDF的解析275.4 JDBC的应用275.5 索引和搜索的实现295.5.1 利用Lucene实现索引305.5.2 利用Lucene实现搜索325.6 个人创新355.7 本章小结36第六章 系统测试376.1 系统测试常用的测试方法376.2 测试平台376.3 搜索引擎测试376.4 测试总结38第七章 总结和展望397.1 工作总结397.2 工作展望39参 考 文 献40致

12、谢41附录A:搜索主界面代码42附录B:搜索后跳转页面代码45- ii - 湖南科技大学本科生毕业设计(论文)第一章 绪 论搜索引擎是指因特网上专门提供查询服务的一类网站,这些网站通过网络搜索软件(又称为网络蜘蛛)等方式,将因特网上大量网站的页面收集到本地,经过加工处理而建库,从而能够对用户提出的各种查询做出响应。目前网上的搜索引擎模式为:获得信息(抓取网页)数据解析建立索引数据库提供搜索查询。1.1 搜索引擎的现状1.1.1 搜索引擎的发展史随着信息技术的不断发展特别是互联网应用的迅速普及和信息爆炸式地丰富起来,并且每天全球互联网网页数目以千万级的数量增加。要在浩瀚网络信息海洋中自如冲浪,搜

13、索引擎已成为必不可少的利器。1994年起至今,伴随着因特网的日益发展壮大以及Web信息量迅速膨胀,Web搜索引擎技术为了不断满足人们对Web信息检的需求,已经经历了三代发展阶段。第一代搜索引擎出现于1994年,以集中式检索为主要特征。这类搜索引擎一般都索引少于一百万个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上也基本沿用较为成熟的网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。第二代搜索引擎系统大约出现在1996年,大多采用分布式检索方案,即多个微型计算机协同工作来提高数据规模、响应速度和用户数量。它们一般都保持一

14、个大约五千万网页的索引数据库,每次能够响应一千万次用户检索请求。第三代搜索引擎系统出现在1998年到2000年期间,这一时期是搜索引擎空前繁荣的时期。第三代搜索引擎的发展有如下凡个特点:(1)索引数据库的规模继续增大,一般的商业搜索引擎都保持在几千万甚至上亿个网页。(2)除了一般意义上的搜索以外,开始出现主题搜索和地域搜索。很多小型的垂直门户站点开始使用该技术。(3)由于搜索返回数据量过大,检索结果相关度评价成为研究的焦点。(4)开始使用自动分类技术。进入21新世纪以后,随着信息多元化的增长,千篇一律的给所有用户同一个入口显然已经不能满足特定用户更深入的查询需求。同时,这样的通用搜索引擎在目前

15、的硬件条件下,要及时更新以得到互联网上较全面的信息是不太可能的。针对这种情况,分类细致精确、数据全面深入、更新及时的面向主题的搜索引擎出现了。由于主题搜索运用了人工分类以及特征提取等智能化策略,因此它比上面提到的前三代的搜索引擎将更加有效和准确,我们将这类完善的主题搜索引擎称为第四代搜索引擎。11.1.2 搜索引擎的分类搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory Search Engine)和元搜索引擎(Meta Search Engine)。1、全文搜索引擎:全文搜

16、索引擎是名副其实的独立的搜索引擎,它是通过从互联网上提取的各个网站的信息(以网页文字为主,本文也是就提取文字的)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。2、目录索引搜索引擎:目录索引虽然有搜索功能,但在严格意义上算不上是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词(Keywords)查询,仅靠分类目录也可找到需要的信息。3、元搜索引擎:元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。图1.1是元搜索引擎的原理图。图1.1 元搜索引擎的原理图1.1.3

17、主要搜索引擎的介绍现在网上的搜索引擎已经有很多,比较著名的有Google、AltaVista、Lycos、MSN 、YAHOO等等。国内也建立了很多的搜索引擎,比如:百度、中搜、搜狗等。其中在信息搜索的取全率和取准率上做得做好的还数Google和百度。Google(http:/):Google是一家非常强调链接广泛度的搜索引擎,链接广泛度在其搜索结果的排名算法中份量很重。这对于在查询一些很一般的词时非常好,可以得到比较有价值的结果,因为一般好的站点,人们链接的就多。所以网站要提高位置,必须要有从其他网站到本网站的链接。AltaVista (http:/Lycos(http:/MSN(http:

18、/):微软的搜索引擎,也逐渐成为世界著名的搜索引擎。YAHOO (http:/):YAHOO是世界上最著名的搜索引擎站点之一,拥有世界上最多的用户,也是网上最流行的搜索引擎站点,站点目录分为14个大类,每一个大类下面又分若干子类,同时在其主页上还提供了若干专题检索功能,还可以进行关键词检索,可以进入高级检索界面,在这里你可以构造更精确的检索要求,得到更详细的检索结果。该站点连接速度快,包含范围广,数据容量大,简便易用。 Baidu(http:/):百度一直以开发最符合中国人使用习惯的搜索引擎为己任,经过三年努力,百度搜索引擎已成为世界上最强大的中文搜索引擎。门户网站只需将用户查询内容和一些相关

19、参数传递到百度搜索引擎服务器上,后台程序就会自动工作并将最终结果返回给网站。百度搜索引擎使用了高性能的“网络蜘蛛”程序自动的在互联网中搜索信息,可定制、高扩展性的调度算法使得搜索器能在极短的时间内收集到最大数量的互联网信息。百度搜索引擎拥有目前世界上最大的中文信息库,总量达到一亿两千万页以上,并且还在以每天几十万页的速度快速增长。1.2 搜索引擎的作用搜索引擎是网站建设中针对“用户使用网站的便利性”所提供的必要功能,同时也是研究网站用户行为的一个有效工具,高效的站内检索可以让用户快速准确地找到目标信息,从而更有效地促进产品/服务的销售,而且通过对网站访问者搜索行为的深度分析,对于进一步制定更为

20、有效的网络营销策略具有重要价值。 1、从网络营销的环境看,搜索引擎营销的环境发展为网络营销的起到推动作用;2、从效果营销看,很多公司之所以可以应用网络营销是利用了搜索引擎营销;3、就完整型电子商务概念组成部分来看,网络营销是其中最重要的组成部分,是向终端客户传递信息的重要环节。1.3 搜索引擎的信息检索模型1.3.1 布尔模型布尔模型信息检索模型是最简单的信息检索模型,是基于集合理论和布尔代数的一种简单的检索模型。用户利用布尔逻辑关系构造查询方式并提交,搜索引擎根据事先建立的倒排文件确定查询的结果。标准的布尔逻辑模型为二元逻辑,并可用逻辑符号AND、OR、NOT来组织关键词表达式。布尔信息检索

21、模型的查全率高,查准率低,为目前大多数的搜索引擎所使用。布尔模型的主要优点在于形式简洁、结构简单。其主要不足之处在于准确地匹配可能导致检出的文档过多或过少。1.3.2 向量模型向量模型是用检索项的向量空间来表示用户的查询要求和数据库的文档信息的。查询的结果是根据向量空间的相似性而排列的。向量空间模型可方便地产生有效的查询结果,能提供相关文档的文摘,并对查询结果进行分类,为用户提供准确的信息。向量模型通过对检出文档按相似性降序排列的方式来实现文档和查询的部分匹配。这样做的结果比布尔模型得到的结果要合理得多,或者说,能更好地匹配用户对信息的需求。向量模型的主要优点在于:检索词加权改进了检索的效果;

22、其余部分匹配策略允许检出与查询条件相近的文档;根据文档与查询之间的相似度对文档进行排序。 21.4 建立搜索引擎的关键技术1、HTTP 协议。HTTP 是建立在TCP/IP 网络协议基础上的用于WWW数据传输的标准协议。通过HTTP 协议,搜索引擎与WWW服务器建立通信机制,向服务器提出对网页各种特征提取的请求,并从服务器的应答中获得相应数据。2、Spider 技术。“网络蜘蛛”(Spider)是一种自动运行的软件,其功能是搜索互联网上的网站或网页。这种软件定期在互联网上漫游, 通过网页间的链接搜索新的地址, 当遇到新的网页时, 就给该页上的某些字或全部字做上索引并把它加到搜索引擎的数据库中。

23、由此,搜索引擎的数据库才得以定期更新。具体地说,Spider主要做三方面的工作:(1) 通过HTTP 协议利用遍历算法从相应互联网站点获取网站主页, 形成队列;(2) 从队列取出网页,进行分析处理, 抽取各索引字段;(3) 执行写数据库操作;(4) 重复(2)、(3)步, 直至处理完毕。3、信息预处理技术。信息预处理包括信息格式支持与转换以及信息过滤。目前,互联网上的信息发布格式多种多样,这就要求搜索引擎支持多种文件格式。从实际情况看, 所有的搜索引擎都支持HTML 格式。而对其它文件格式的支持,不同搜索引擎则有不同的规定,最多的能支持200 多种文件格式。另外,信息过滤也是搜索引擎的一项重要

24、技术。在互联网中,存在着大量无用信息,一个好的搜索引擎应当是尽量减少垃圾站点的数量。这是信息过滤要着重解决的问题。4、信息检索技术。搜索引擎所使用的信息检索模型主要有布尔逻辑模型、模糊逻辑模型、向量空间模型以及概率模型等。其中布尔型信息检索模型是最简单的信息检索模型, 用户利用布尔逻辑关系构造查询式并提交, 搜索引擎根据事先建立的倒排文件确定查询结果。布尔型信息检索模型的查全率高, 为目前大多数搜索引擎所使用。5、自然语言理解技术。从人工智能的观点看,自然语言理解的任务是建立一种计算机模型,这种计算机模型能够给出像人那样理解、分析并回答自然语言的结果。如果计算机实现了人机会话,或机器翻译,或自

25、动文摘等语言信息处理功能,则认为计算机具备了自然语言理解的能力。与传统的目录查询、关键词查询模式相比,自然语言查询的优势体现在:一是使网络交互更加人性化;二是使信息查询变得更加方便、快速和准确。6、智能化、个性化的搜索技术。准确的搜索应建立在对收录信息和搜索请求的理解上,也就是说,必须处理语义信息。显然,基于自然语言理解技术的搜索引擎,由于可以同用户使用自然语言交谈,并深刻理解用户的搜索请求,所以查询的结果也更加准确。提高搜索精确度的另一个途径是提供个性化的搜索,也就是将搜索建立在个性化的搜索环境之下,通过对用户的不断了解、分析,使得个性化搜索更符合每个用户的需求,而不仅仅是准确。1.5 本章

26、小结 本章大致介绍了搜索引擎的基本情况,首先对搜索引擎的现状和作用进行了大概的描述,其次粗略地介绍了搜索引擎的信息检索模型,最后详细地介绍了实现搜索引擎的关键的技术。搜索引擎,简单地说,就是先网络上各种各样的资源(主要是HTML文件)抓取下来,然后解析建立索引,方便用户快速准确定位搜索到自己所需要的资源。第二章 搜索引擎的体系结构与工作原理搜索引擎一般由抓取器、解析器、索引器和搜索器四个部分组成。在搜索网页的同时还要为该网页建立索引数据库,并为用户提供查询接口,根据用户的查询请求,按照一定算法从索引数据中查找信息返回给用户。2.1 工作原理 图2.1描述了搜索引擎的工作过程,一般分为五个步骤:

27、 (1)从互联网上抓取网页,利用能够从互联网上自动收集网页的网络蜘蛛程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。(2)由网页分析程序对收集回来的网页进行分析,提取相关网页信息,根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度。(3)然后用这些相关信息建立网页索引数据库。(4)用户通过查询接口输入查询条件,检索程序在索引数据库中检索,从网页索引数据库中找到符合该关键词的所有相关网页。(5)页面生成系统将搜索结果的链接地址和摘要等内容组织起来返回给用户。搜索引擎的工作流程可以简化归结为以下五个

28、步骤:1) 网上抓取网页;2) 对网页进行解析;3) 建立索引数据库;4) 在索引数据库中搜索;5) 对搜索结果进行处理和排序,返回给用户。Search Engine Working Principle图2.1 搜索引擎工作原理2.2 体系结构搜索引擎一般由抓取器、解析器、索引器和搜索器四个部分组成。 2.2.1 抓取器每个独立的搜索引擎都有自己的网页抓取程序网络蜘蛛。网络蜘蛛顺着网页中的超链接,连续地抓取网页。页面抓取是搜索引擎工作流程中的第一步,通用网络蜘蛛的目标是要发现和下载尽可能多的网页,以使搜索引擎能回答更多的用户查询,因此在网络蜘蛛技术上采用了宽度优先的搜索策略,使网络蜘蛛有更广的

29、覆盖面。网络蜘蛛是一个自动收集网页的系统程序,其功能是日夜不停地在互联网中漫游,收集信息。在爬虫开始的时候,需要给爬虫输送一个URL列表,这个列表中的URL地址便是爬虫的起始位置,爬虫从这些URL出发,开始了爬行,一直不断地发现新的URL,然后再根据策略爬行这些新发现的URL,如此永远反复下去。图2.2是爬虫的运行过程。图2.2 爬虫的运行过程2.2.2 解析器搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,还包括去除重复网页、分词(中文)、判断网页类型、分析超链接、计算网页的重要度等。解析器(Extractor)就是将抓取器抓取下来的各种二进制文件

30、(如:HTML、PDF、Word、Excel、XML等)提取出纯文本。我们要对网络爬虫爬下来的文件里的文字先进行解析提取,然后建立索引,最后实现搜索。图2.3为网页解析过程。图2.3 网页解析过程2.2.3 索引器索引器对收集回来的网页进行分析,提取相关网页信息,根据一定的相关度算法进行大量复杂计算,得到每一个网页(针对页面内容)及超链中每一个关键词的相关度,然后用这些相关信息建立网页索引文件。索引建立过程如图2.4所示。图2.4 索引建立过程2.2.4 搜索器用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的

31、摘要以及其他信息。检索器对当用户输入关键词搜索后,搜索请求经过分解,由搜索器从网页索引数据库或索引文件中找到符合该关键词的所有相关网页。所有相关网页针对该关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。搜索器搜索过程如图2.5所示。图2.5 搜索器搜索过程2.3 存储结构数据结构是一切系统的基础。对于搜索引擎来讲更是非常重要的。2.3.1 三种存储结构1、顺序存储:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接

32、关系来体现,由此得到的存储表示称为顺序存储结构。2、链接存储:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。3、索引存储:索引表由若干索引项组成。如果每个节点在索引表中都有一个索引项,则该索引表就被称为稠密索引。若一组节点在索引表中只对应于一个索引项,则该索引表就成为稀疏索引。2.3.2 相互比较顺序存储结构是一种最基本的存储表示方法,可以换来很高的扫描速度,但是其效率很低,所以对一些相对固定的不易发生改变的数据应当采用顺序存储结构。链式存储结构相对于顺序存储结构来讲,不需要事先开辟一整块存储空间,所以提高了存储空间的利用率,但是扫描数据时,效率比顺序存

33、储结构要低。索引存储结构中,索引项的一般形式一般是关键字、地址。在搜索引擎中,需要按某些关键字的值来查找记录,为此可以按关键字建立索引,这种索引就叫做倒排索引,带有倒排索引的文件就叫做倒排索引文件,又称为倒排文件。倒排文件可以实现快速检索,这种索引存储方法是目前搜索引擎最常用的存储方法。2.4 本章小结本章首先给出搜索引擎的工作原理,搜索引擎一般由抓取器、解析器、索引器和搜索器四个部分组成。其次对搜索引擎的各个部分进行了一个简要地描述,从而明确各个部分的功能和作用。最后简单介绍了搜索引擎的存储结构,明确说明倒排索引文件在搜索引擎中的运用。第三章 数据抓取和解析技术探究搜索引擎要先用网络蜘蛛从网

34、络上抓取各种各样的资源(主要是HTML文件),然后判断文件的类型,对文件进行解析,提取出文件中的文字信息和必要的关键信息。3.1 数据抓取搜索引擎的第一步工作是在Web上收集网页并将其存入页面存储库,即网页抓取。目前搜索引擎都采用一个叫做网络蜘蛛的机器人程序来完成网页抓取的工作。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。3.1.1 数据抓

35、取策略在抓取网页的时候,网络蜘蛛一般有两种策略:深度优先和广度优先。深度优先是指网络蜘蛛会从起始页开始,逐个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接,这个方法有个优点是网络蜘蛛在设计的时候比较容易。广度优先是指网络蜘蛛会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。广度优先是最常用的方式,因为这个方法可以让网络蜘蛛并行处理,提高其抓取速度。1、 深度优先策略:深度优先,顾名思义就是让网络蜘蛛尽量的在抓取网页时往网页更深层次的挖掘进去,讲究的是深度。网络蜘蛛将会从起始页开始,逐个链接地跟踪下去,处理完这条线路之后再转入下一

36、个起始页,继续跟踪链接。在爬行的过程中,爬虫要做一些计算,首先判断一次:“是否继续向更深的一层爬行?”每次准备爬行一个链接,都要访问一下总链接库,看看这个链接是否已经爬行过了。然后还要记录每次爬行的分支节点,下次从这个分支节点进行爬取。另外,如果搜索引擎只是检索简体中文网页,则一旦遇到一个网页的IP属于国外IP,就立即停止,不再进行爬行,否则就有可能爬到国外的网站上去了。为了描述深度优先策略,我们给出了图3.1的网页链接模型。图3.1 网页链接模型假设搜索引擎爬虫从A出发,根据深度优先的策略,所走的路径为:(1)ABEI。(1)ABEJ。(1)ACF。(1)ADGK。(1)ADHK。通过所走的

37、路径,我们看到了深度优先的策略是尽量往设置好的深度走。2、 广度优先策略:广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索,也称为层次优先搜索策略。该算法的设计和实现相对简单,它是一种层次距离不断增大的遍历算法。在图3.1的网页链接模型中,我们将这个链接模型分为五层。第一层(A)的优先级最高,第二层(B、C、D)优先级大于第三层(E、F、G、H),每层内部的优先级是从左到右排列的。广度优先策略不需要记录上次爬行的分支的节点,这大大降低了控制的难度。3.1.2 Spider协议网络机器人爬取网页,不同于一般的访问,如果控制不好,则会引起网站服务器负担过重。有多种方法

38、可以让网站和网络蜘蛛进行交流。一方面让网站管理员了解网络机器人都来自哪儿,做了些什么,另一方面也告诉网络蜘蛛哪些网页不应该抓取,哪些网页应该更新。每个网络机器人都有自己的名字,在抓取网页的时候,都会向网站标明自己的身份。网络机器人在抓取网页的时候会发送一个请求,这个请求中就有一个字段为User-agent,用于标识此网络机器人的身份。例如Google网络机器人的标识Google Bots,Baidu网络机器人的标识为Baidu Spider。如果在网站上有访问日志记录,网站管理员就能知道,哪些搜索引擎的网络机器人过来过,什么时候过来的,以及读了多少数据等等。如果网站管理员发现某个机器人有问题,

39、就通过其标识来和其所有者联系。33.1.3 网页抓取应该考虑的问题在网页抓取的过程中,有一些相关的问题需要考虑。例如如何来决定网页的抓取频率,如何处理不同类型的网页以及网站与网络蜘蛛之间的关系等等。1、抓取周期分析:由于网站的内容经常在变化,因此网络蜘蛛也需不断的更新其抓取网页的内容,这就需要网络蜘蛛按照一定的周期去扫描网站,查看哪些页面是需要更新的页面,哪些页面是新增页面,哪些页面是已经过期的死链接。搜索引擎的更新周期对搜索引擎搜索的查全率有很大影响。如果更新周期太长,则总会有一部分新生成的网页搜索不到;周期过短,技术实现会有一定难度,而且会对带宽、服务器的资源都有浪费。搜索引擎的网络机器人并不是对所有的网站都采用同一个周期进行更新,对于一些重要的更新

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服