JAVA基于网络爬虫的搜索引擎设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科毕业设计

题目:基于网络爬虫的搜索引擎设计与实现

系别:

专业:计算机科学与技术

班级:

学号:

姓名:

同组人:

指导教师:教师职称:协助指导教师:教师职称:

摘要

本文从搜索引擎的应用出发,探讨了网络蜘蛛在搜索引擎中的作用和地住,提出了网络蜘蛛的功能和设计要求。在对网络蜘蛛系统结构和工作原理所作分析的基础上,研究了页面爬取、解析等策略和算法,并使用Java实现了一个网络蜘蛛的程序,对其运行结果做了分析。

关键字:爬虫、搜索引擎

Abstract

The paper,discussing from the application of the search engine,searches the importance and function of Web spider in the search engine.and puts forward its demand of function and design.On the base of analyzing Web Spider’s system strtucture and working elements.this paper also researches the method and strategy of multithreading scheduler,Web page crawling and HTML parsing.And then.a program of web page crawling based on Java is applied and analyzed.

Keyword: spider, search engine

目录

摘要 (2)

Abstract (3)

一、项目背景 (5)

1.1搜索引擎现状分析 (5)

1.2课题开发背景 (5)

1.3网络爬虫的工作原理 (8)

二、系统开发工具和平台 (8)

2.1关于java语言 (8)

2.2 Jbuilder介绍 (10)

2.3 servlet的原理 (11)

三、系统总体设计 (13)

3.1系统总体结构 (13)

3.2系统类图 (13)

四、系统详细设计 (17)

4.1搜索引擎界面设计 (17)

4.2 servlet的实现 (18)

4.3网页的解析实现 (20)

4.3.1网页的分析 (20)

4.3.2网页的处理队列 (21)

4.3.3 搜索字符串的匹配 (22)

4.3.4网页分析类的实现 (22)

4.4网络爬虫的实现 (25)

五、系统测试 (33)

六、结论 (35)

致谢 (35)

参考文献 (36)

一、项目背景

1.1搜索引擎现状分析

互联网被普及前,人们查阅资料首先想到的便是拥有大量书籍的图书馆,而在当今很多人都会选择一种更方便、快捷、全面、准确的方式——互联网.如果说互联网是一个知识宝库,那么搜索引擎就是打开知识宝库的一把钥匙.搜索引擎是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术,用于帮助互联网用户查询信息的搜索工具.搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的.目前搜索引擎已经成为倍受网络用户关注的焦点,也成为计算机工业界和学术界争相研究、开发的对象.

目前较流行的搜索引擎已有Google, Yahoo, Info seek, baidu 等. 出于商业机密的考虑, 目前各个搜索引擎使用的Crawler 系统的技术内幕一般都不公开, 现有的文献也仅限于概要性介绍. 随着W eb 信息资源呈指数级增长及Web 信息资源动态变化, 传统的搜索引擎提供的信息检索服务已不能满足人们日益增长的对个性化服务的需要, 它们正面临着巨大的挑战. 以何种策略访问Web, 提高搜索效率, 成为近年来专业搜索引擎网络爬虫研究的主要问题之一。

1.2课题开发背景

目前虽然有很多种搜索引擎,但各种搜索引擎基本上由三个组成

部分:

(1)在互联网上采集信息的网页采集系统:网页采集系统主要使用一种工作在互联网上的采集信息的“网络蜘蛛”。“网络蜘蛛”实际上是一些基于web的程序,利用主页中的超文本链接遍历Web.利用能够从互联网上自动收集网页的“网络蜘蛛”程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集到网页数据库中。

(2)对采集到的信息进行索引并建立索引库的索引处理系统:索引处理系统对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后建立索引并存人到网页索引数据库中.索引数据库可以采用通用的大型数据库,如Oracle,Sybase等,也可以自己定义文件格式进行存放.为了保证索引数据库中的信息与Web内容的同步,索引数据库必须定时更新,更新频率决定了搜索结果的及时性.索引数据库的更新是通过启动“网络蜘蛛”对Web空间重新搜索来实现的.

(3)完成用户提交查询请求的网页检索器:网页检索器一般是一个在Web服务器上运行的服务器程序,它首先接收用户提交的查询条件,根据查询条件对索引库进行查找并将查询到的结果返回给用户.当用户使用搜索引擎查找信息时,网页检索器接收用户提交的关键词,由

搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页.有的搜索引擎系统综合相关信息和网页级别形成相关度数值,然后进行排序,相关度越高,排名越靠前.最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户.典型的搜索引擎系统如Google就是采用这种策略.

信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、中国搜索等大型搜索引擎一直是人们讨论的话题.搜索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的Excite,以及ahvista、overture、google等搜索引擎面世,搜索引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上世纪末本世纪初.在许多领域,都是国外的产品和技术一统天下,特别是当某种技术在国外研究多年而国内才开始的情况下.例如操作系统、字处理软件、浏览器等等,但搜索引擎却是个例外.虽然在国外搜索引擎技术早就开始研究,但在国内还是陆续涌现出优秀的搜索引擎,像百度、中搜等.

随着搜索引擎技术的成熟,它将成为获取信息、掌握知识的利器.但是现有的搜索引擎对于用户所提出的查询要求仅限于关键词的简单逻辑组合,搜索结果重视的是返回的数量而不是质量,在结果文档的组织和分类上也有所欠缺.国外的一次调查结果显示,约有71%的人对搜索的结果感到不同程度的失望.因此,如何提高搜索引擎的智能化程度,如何按照知识应用的需要来组织信息,使互联网不仅提供信息服务,而且能为用户提供知识服务,将成为计算机工业界和学

相关文档
最新文档