基于网络爬虫的搜索引擎设计与实现
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
摘要
本文从搜索引擎的应用出发,探讨了网络蜘蛛在搜索引擎中的作用和地住,提出了网络蜘蛛的功能和设计要求。在对网络蜘蛛系统结构和工作原理所作分析的基础上,研究了页面爬取、解析等策略和算法,并使用Java实现了一个网络蜘蛛的程序,对其运行结果做了分析。
关键字:爬虫、搜索引擎
目录摘要??? 2Abstract??? 3一、项目背景??? 51.1搜索引擎现状分析??? 51.2课题开发背景??? 61.3网络爬虫的工作原理??? 8二、系统开发工具和平台??? 92.1关于java语言??? 92.2 Jbuilder介绍??? 102.3 servlet的原理??? 12三、系统总体设计??? 143.1系统总体结构??? 143.2系统类图??? 14四、系统详细设计??? 174.1搜索引擎界面设计??? 174.2 servlet的实现??? 194.3网页的解析实现??? 204.3.1网页的分析??? 204.3.2网页的处理队列??? 214.3.3 搜索字符串的匹配??? 224.3.4网页分析类的实现??? 224.4网络爬虫的实现??? 25五、系统测试??? 33六、结论??? 35致谢??? 35参考文献??? 36
课题开发背景
目前虽然有很多种搜索引擎,但各种搜索引擎基本上由三个组成部分:
(1)在互联网上采集信息的网页采集系统:网页采集系统主要使用一种工作在互联网上的采集信息的“网络蜘蛛”。“网络蜘蛛”实际上是一些基于web的程序,利用主页中的超文本链接遍历Web.利用能够从互联网上自动收集网页的“网络蜘蛛”程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集到网页数据库中。
(2)对采集到的信息进行索引并建立索引库的索引处理系统:索引处理系统对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后建立索引并存人到网页索引数据库中.索引数据库可以采用通用的大型数据库,如Oracle,Sybase等,也可以自己定义文件格式进行存放.为了保证索引数据库中的信息与Web内容的同步,索引数据库必须定时更新,更新频率决定了搜索结果的及时性.索引数据库的更新是通过启动“网络蜘蛛”对Web空间重新搜索来实现的.
(3)完成用户提交查询请求的网页检索器:网页检索器一般是一个在Web服务器上运行的服务器程序,它首先接收用户提交的查询条件,根据查询条件对索引库进行查找并将查询到的结果返回给用户.当用户使用搜索引擎查找信息时,网页检索器接收用户提交的关键词,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页.有的搜索引擎系统综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前.最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户.典型的搜索引擎系统如Google就是采用这种策略.
信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、中国搜索等大型搜索引擎一直是人们讨论的话题.搜索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的Excite,以及ahvista、overture、google等搜索引擎面世,搜索引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上世纪末本世纪初.在许多领域,都是国外的产品和技术一统天下,特别是当某种技术在国外研究多年而国内才开始的情况下.例如操作系统、字处理软件、浏览器等等,但搜索引擎却是个例外.虽然在国外搜索引擎技术早就开始研究,但在国内还是陆续涌现出优秀的搜索引擎,像百度、中搜等.
随着搜索引擎技术的成熟,它将成为获取信息、掌握知识的利器.但是现有的搜索引擎对于用户所提出的查询要求仅限于关键词的简单逻辑组合,搜索结果重视的是返回的数量而不是质量,在结果文档的组织和分类上也有所欠缺.国外的一次调查结果显示,约有71%的人对搜索的结果感到不同程度的失望.因此,如何提高搜索引擎的智能化程度,如何按照知识应用的需要来组织信息,使互联网不仅提供信息服务,而且能为用户提供知识服务,将成为计算机工业界和学术界有待研究的方向。
1.3网络爬虫的工作原理
网络爬虫是搜索引擎的核心部分,其名称出自Spider 的意译, 具有相同词义的词语还有Crawler, robo ts,
bot s, wanderer 等等.网络爬虫定义有广义和狭义之分, 狭义上的定义为利用标准的http 协议根据超级链接和Web 文档检索的方法遍历万维网信息空间的软件程序; 而广义则是所有能利用http 协议检索Web 文档的软件都称之为网络爬虫.网络爬虫是一个功能很强的自动提取网页的程序, 它为搜索引擎从万维网上下载网页, 是搜索引擎的重要组成. 它通过请求站点上的HTML 文档访问某一站点. 它遍历W eb 空间, 不断从一个站点移动到另一个站点, 自动建立索引, 并加入到网页数据库中. 网络爬虫进入某个超级文本时, 它利用HTML语言的标记结构来搜索信息及获取指向其他超级文本的U RL 地址, 可以完全不依赖用户干预实现网络上的自动“爬行”和搜索。