JAVA基于网络爬虫搜索引擎设计和实现毕业论文

合集下载

搜索引擎网络爬虫设计与实现毕业设计

搜索引擎网络爬虫设计与实现毕业设计

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 搜索引擎网络爬虫设计与实现毕业设计- 网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。

建立搜索引擎就是解决这个问题的最好方法。

本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后具体阐述了如何设计并实现搜索引擎的搜索器网络爬虫。

多线程网络爬虫程序是从指定的 Web 页面中按照宽度优先算法进行解析、搜索,并把搜索到的每条 URL 进行抓取、保存并且以 URL 为新的入口在互联网上进行不断的爬行的自动执行后台程序。

网络爬虫主要应用 socket 套接字技术、正则表达式、 HTTP 协议、windows 网络编程技术等相关技术,以 C++语言作为实现语言,并在VC6.0 下调试通过。

在网络爬虫的设计与实现的章节中除了详细的阐述技术核心外还结合了多线程网络爬虫的实现代码来说明,易于理解。

本网络爬虫是一个能够在后台运行的以配置文件来作为初始URL,以宽度优先算法向下爬行,保存目标 URL 的网络程序,能够执行普通用户网络搜索任务。

搜索引擎;网络爬虫; URL 搜索器;多线程 - Design and Realization of Search Engine Network Spider Abstract The resource of network is very rich, but how to search the1 / 2effective information is a difficult task. The establishment of a search engine is the best way to solve this problem. This paper first introduces the internet-based search engine structure, and then illustrates how to implement search engine ----network spiders. The multi-thread network spider procedure is from the Web page which assigns according to the width priority algorithm connection for analysis and search, and each URL is snatched and preserved, and make the result URL as the new source entrance unceasing crawling on internet to carry out the backgoud automatically. My paper of network spider mainly applies to the socket technology, the regular expression, the HTTP agreement, the windows network programming technology and other correlation technique, and taking C++ language as implemented language, and passes under VC6.0 debugging. In the chapter of the spider design and implementation, besides a detailed exposition of the core technology in conjunction with the multi-threaded network spider to illustrate the realization of the code, it is easy to understand. This network spide...。

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

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

本科毕业设计题目:基于网络爬虫的搜索引擎设计与实现系别:专业:计算机科学与技术班级:学号:姓名:同组人:指导教师:教师职称:协助指导教师:教师职称:摘要本文从搜索引擎的应用出发,探讨了网络蜘蛛在搜索引擎中的作用和地住,提出了网络蜘蛛的功能和设计要求。

在对网络蜘蛛系统结构和工作原理所作分析的基础上,研究了页面爬取、解析等策略和算法,并使用Java实现了一个网络蜘蛛的程序,对其运行结果做了分析。

关键字:爬虫、搜索引擎AbstractThe 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 主题搜索引擎和网络爬虫将互联网中大量的进行信息选取、整理存储并建立索引,再提供友好接口,使用户在这些信息中及时、准确、快速获取需求的信息的查询系统就是搜索引擎。

主题搜索引擎,是以构建某一专题领域或者某一学科领域的因特网信息资源库为目的,在互联网上智能的搜集符合设定专题要求或者符合该学科需要的信息和资源。

主题搜索引擎的产生,克服了传统搜索引擎在信息检索服务中的诸多困难,不但使信息检索变得更加细致、精确,使搜索到的数据更加精确和全面,搜索到的信息更加深入,同时也使相关专题信息资源和学科信息资源的更新更加及时,总之,大大提高了信息检索服务质量,提高了搜索引擎的性能。

网络爬虫是搜索引擎中,探索与下载网页资源的程序,在搜索的过程中,程序自己判断下一步抓取的对象,具有相应的智能性,因此又叫网络机器人。

网页之间的链接,使互联网形成了网状的结构,爬虫程序类似这张网上的蜘蛛,所以叫网络蜘蛛。

网络爬虫作为搜索引擎的基础组成部分,起着重要的作用。

随着应用的不断深化,技术的快速进步,网络爬虫更加普遍地运用于站点结构分析、页面有效性分析、内容安全检测、用户兴趣挖掘以及个性化信息获取等多种服务中。

网络爬虫毕业设计

网络爬虫毕业设计

网络爬虫毕业设计网络爬虫毕业设计随着互联网的迅猛发展,信息的获取变得越来越方便。

而在这个信息爆炸的时代,网络爬虫作为一种高效的信息获取工具,受到了广泛的关注和应用。

作为一名计算机专业的毕业生,我选择了网络爬虫作为我的毕业设计主题。

首先,我将介绍网络爬虫的基本原理和工作方式。

网络爬虫是一种自动化程序,通过模拟人类的浏览行为,从互联网上抓取各种信息。

它可以访问网页,提取文本、图片、链接等信息,并将其保存到本地数据库或文件中。

网络爬虫通常使用HTTP协议来进行网页的请求和响应,通过解析HTML文档来提取所需的信息。

接下来,我将介绍网络爬虫的应用领域。

网络爬虫广泛应用于搜索引擎、数据挖掘、舆情监测、价格比较、信息聚合等领域。

例如,搜索引擎利用网络爬虫来抓取互联网上的网页,并建立索引,以便用户能够快速找到所需的信息。

数据挖掘领域可以利用网络爬虫来收集大量的数据,进行分析和挖掘。

舆情监测可以通过网络爬虫来抓取新闻、社交媒体等信息,实时监测和分析舆情动态。

价格比较网站可以利用网络爬虫来抓取各个电商网站的商品信息,并进行价格比较和推荐。

信息聚合网站可以通过网络爬虫来抓取各个新闻网站的新闻,并将其汇总在一个平台上,方便用户阅读。

在设计我的网络爬虫毕业项目时,我将考虑以下几个方面。

首先,我需要确定我的项目的目标和需求。

是要抓取特定网站的信息,还是要抓取特定领域的信息?其次,我需要选择合适的编程语言和开发框架。

Python是目前最常用的网络爬虫编程语言,而Scrapy是一个强大的网络爬虫框架,可以帮助我快速开发和部署我的项目。

然后,我需要设计合适的数据存储方案。

可以选择使用关系型数据库,如MySQL或SQLite,也可以选择使用非关系型数据库,如MongoDB。

最后,我需要考虑如何处理反爬虫机制。

很多网站为了防止被爬虫抓取,会采取一些反爬虫措施,如验证码、IP封锁等。

我需要设计相应的策略来应对这些反爬虫机制。

在实施我的网络爬虫毕业项目时,我将遵循一定的原则和规范。

基于JAVA的搜索引擎的设计与实现毕业设计

基于JAVA的搜索引擎的设计与实现毕业设计

基于JAVA的搜索引擎的设计与实现毕业设计摘要网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情。

建立搜索引擎就是解决这个问题的最好方法。

本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后从网络机器人、索引引擎、Web服务器三个方面进行详细的说明。

为了更加深刻的理解这种技术,本人还亲自实现了一个自己的搜索引擎——新闻搜索引擎。

新闻搜索引擎是从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条新闻进行索引后加入数据库。

然后通过Web服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻。

本人在介绍搜索引擎的章节中除了详细的阐述技术核心外还结合了新闻搜索引擎的实现代码来说明,图文并茂、易于理解。

关键词:搜索引擎;网络蜘蛛;搜索策略AbstractThe resources in the internet are abundant, but it is a difficult job to search some useful information. So a search engine is the best method to solve this problem. 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. In order to understand the technology more deeply, I have programmed a news search engine by myself.The news search engine is explained and searched according to hyperlink from a appointed web page, then indexes every searched information and adds it to the index database. Then after receiving the customers' requests from the web server, it soon searches the right news form the index engine,In the chapter of introducing search engine, it is not only elaborate the core technology, but also combine with the modern code, pictures included, easy to understand.Key Words:Search engine;Web spider;Search strategy目录摘要 (I)Abstract.......................................................... I II 引言 (1)1 搜索引擎的结构 (2)1.1搜索引擎系统概述 (2)1.2搜索引擎的构成 (2)1.2.1网络蜘蛛 (2)1.2.2索引与搜索 (2)1.2.3 Web服务器 (3)1.3搜索引擎的主要指标及分析 (3)2 网络机器人 (4)2.1什么是网络机器人 (4)2.2网络机器人的结构分析 (4)2.2.2 Spider程序结构 (4)2.2.3如何构造Spider程序 (5)2.2.4如何提高程序性能 (7)2.2.5网络机器人的代码分析 (7)3 基于lucene的索引与搜索、tomcat 服务器 (10)3.1什么是L UCENE全文检索 (10)3.2L UCENE的原理分析 (10)3.2.1客户端设计 (10)3.2.2全文检索的实现机制 (11)3.2.3 Lucene的索引效率 (11)3.2.4 中文切分词机制 (13)3.2.5服务端设计 (14)3.3L UCENE与S PIDER的结合 (14)3.3.1如何解析HTML (16)3.4基于T OMCAT的W EB服务器 (19)3.5在T OMCAT上部署项目 (19)4 搜索引擎策略 (21)4.1简介 (21)4.2面向主题的搜索策略 (21)4.2.1导向词 (21)4.2.2网页评级 (21)4.2.3权威网页和中心网页 (22)结论 (23)参考文献 (24)致谢 (25)引言面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。

网络爬虫技术探究毕业论文

网络爬虫技术探究毕业论文

毕业论文题目网络爬虫技术探究英文题目Web Spiders Technology Explore信息科学与技术学院学士学位论文毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:信息科学与技术学院学士学位论文学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日信息科学与技术学院学士学位论文导师签名:日期:年月日信息科学与技术学院学士学位论文注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

网络爬虫 毕业论文

网络爬虫 毕业论文

网络爬虫毕业论文网络爬虫:数据挖掘的利器随着互联网的迅猛发展,我们进入了一个信息爆炸的时代。

海量的数据涌入我们的生活,如何从这些数据中获取有用的信息成为了一个重要的问题。

在这个背景下,网络爬虫应运而生,成为了数据挖掘的利器。

一、网络爬虫的定义和原理网络爬虫,顾名思义,就是像蜘蛛一样在网络上爬行,自动地从网页中提取信息。

它的工作原理可以简单地概括为以下几个步骤:首先,爬虫会从一个起始网页开始,通过解析网页中的链接找到其他网页;然后,它会递归地访问这些链接,进一步抓取网页;最后,爬虫会将抓取到的网页进行处理,提取出所需的信息。

二、网络爬虫的应用领域网络爬虫在各个领域都有广泛的应用。

在搜索引擎领域,爬虫是搜索引擎的核心组成部分,它通过抓取网页并建立索引,为用户提供准确、全面的搜索结果。

在电子商务领域,爬虫可以用来抓取商品信息,帮助企业了解市场动态和竞争对手的情况。

在金融领域,爬虫可以用来抓取股票、基金等金融数据,为投资者提供决策依据。

此外,爬虫还可以应用于舆情监测、航空订票、房产信息等领域。

三、网络爬虫的技术挑战尽管网络爬虫在各个领域都有广泛的应用,但是它也面临着一些技术挑战。

首先,网络爬虫需要解决网页的反爬虫机制,如验证码、IP封锁等,以确保能够正常抓取数据。

其次,网络爬虫还需要处理大规模数据的存储和处理问题,以确保抓取的数据能够高效地被利用。

此外,网络爬虫还需要解决网页结构的变化和网页内容的多样性等问题,以确保能够准确地提取所需信息。

四、网络爬虫的伦理问题随着网络爬虫的应用越来越广泛,一些伦理问题也逐渐浮现出来。

首先,网络爬虫可能会侵犯个人隐私,特别是在抓取个人信息时需要注意保护用户的隐私权。

其次,网络爬虫可能会对网站的正常运行造成影响,如过于频繁地访问网站可能会导致网站崩溃。

因此,在使用网络爬虫时,需要遵守相关的法律法规和伦理规范,确保合法、合理地使用爬虫工具。

五、网络爬虫的未来发展随着人工智能和大数据技术的不断发展,网络爬虫在未来还将有更广阔的应用前景。

java爬虫毕业设计

java爬虫毕业设计

java爬虫毕业设计Java爬虫毕业设计随着互联网的迅速发展,信息爆炸式增长,人们对于获取大量数据的需求也越来越迫切。

而爬虫作为一种自动化获取网络数据的技术工具,逐渐成为了解决这一需求的重要方式之一。

在本文中,将介绍一个基于Java的爬虫毕业设计项目。

一、项目背景和意义在当今信息时代,各行各业都需要大量的数据支持来进行决策和分析。

而手动获取这些数据费时费力且效率低下,因此使用爬虫技术来自动化获取数据成为了一个重要的解决方案。

本项目旨在设计一个基于Java的爬虫系统,能够高效、稳定地从互联网中获取所需数据,为用户提供更便捷的数据获取方式。

二、技术选型和设计思路1. 技术选型本项目选择使用Java语言进行开发,主要基于以下几点考虑:- Java是一种跨平台的编程语言,具有良好的可移植性和兼容性。

- Java拥有强大的网络编程库,方便进行网络请求和数据处理。

- Java生态系统完善,拥有丰富的第三方库和框架,可以加快开发进度。

2. 设计思路本项目的设计思路主要包括以下几个方面:- 确定数据源:根据用户需求确定需要爬取的网站和数据源。

- 分析网页结构:通过分析网页的HTML结构和CSS选择器,确定需要抓取的数据位置和规则。

- 编写爬虫程序:使用Java编写爬虫程序,通过网络请求获取网页内容,解析并提取所需数据。

- 数据存储与处理:将获取到的数据存储到数据库或文件中,并进行必要的数据处理和清洗。

- 反爬虫策略:针对可能存在的反爬虫机制,采取相应的策略进行应对,确保爬虫的稳定性和可用性。

三、项目实施和效果评估1. 项目实施在项目实施过程中,需要按照设计思路逐步完成各个模块的开发和集成,包括数据源选择、网页结构分析、爬虫程序编写、数据存储与处理等。

同时,需要进行充分的测试和调试,确保系统的稳定性和可靠性。

2. 效果评估项目的效果评估主要从以下几个方面进行:- 数据获取效率:评估系统的数据获取速度和稳定性,确保能够满足用户的需求。

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

本科毕业论文题目:基于网络爬虫搜索引擎设计和实现毕业论文系别:专业:计算机科学与技术班级:学号:姓名:刘德华同组人:指导教师:教师职称:协助指导教师:教师职称:摘要本文从搜索引擎的应用出发,探讨了网络蜘蛛在搜索引擎中的作用和地住,提出了网络蜘蛛的功能和设计要求。

在对网络蜘蛛系统结构和工作原理所作分析的基础上,研究了页面爬取、解析等策略和算法,并使用Java实现了一个网络蜘蛛的程序,对其运行结果做了分析。

关键字:爬虫、搜索引擎等AbstractThe 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课题开发背景 (6)1.3网络爬虫的工作原理 (8)二、系统开发工具和平台 (9)2.1关于java语言 (9)2.2 Jbuilder介绍 (10)2.3 servlet的原理 (12)三、系统总体设计 (14)3.1系统总体结构 (14)3.2系统类图 (14)四、系统详细设计 (17)4.1搜索引擎界面设计 (17)4.2 servlet的实现 (19)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%的人对搜索的结果感到不同程度的失望.因此,如何提高搜索引擎的智能化程度,如何按照知识应用的需要来组织信息,使互联网不仅提供信息服务,而且能为用户提供知识服务,将成为计算机工业界和学术界有待研究的方向。

1.3网络爬虫的工作原理网络爬虫是搜索引擎的核心部分,其名称出自Spider 的意译, 具有相同词义的词语还有Crawler, robo ts, bot s, wanderer 等等.网络爬虫定义有广义和狭义之分, 狭义上的定义为利用标准的http 协议根据超级链接和Web 文档检索的方法遍历万维网信息空间的软件程序; 而广义则是所有能利用http 协议检索Web 文档的软件都称之为网络爬虫.网络爬虫是一个功能很强的自动提取网页的程序, 它为搜索引擎从万维网上下载网页, 是搜索引擎的重要组成. 它通过请求站点上的HTML 文档访问某一站点. 它遍历W eb 空间, 不断从一个站点移动到另一个站点, 自动建立索引, 并加入到网页数据库中. 网络爬虫进入某个超级文本时, 它利用HTML语言的标记结构来搜索信息及获取指向其他超级文本的U RL 地址, 可以完全不依赖用户干预实现网络上的自动“爬行”和搜索。

二、系统开发工具和平台2.1关于java语言Java语言是由Sun公司于1995年推出的一种新的编程语言,它是一种跨平台、适合于分布式计算环境的纯面向对象语言。

Java语言及其扩展正在逐步成为互联网应用的规范,掀起了自PC机以来的又一次技术革命。

一般认为,B语言导致了C语言的诞生、C语言演变出C++语言,而Java语言则明显带有C++语言的特征。

Java总是和C++联系在一起,而C++则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。

Java的语法是从C继承的,Java 许多面向对象特性都受到C++的影响。

事实上,Java中几个自定义的特性都来自于或可以追溯到它的这些前驱语言。

略有不同的是,Java 语言完全面向对象,从而摒弃了二者的不足之处。

Java语言的诞生与过去约30年中计算机语言的不断改进和发展密切相关。

Java是由James Gosling、Patrick Naughton、Chris Warth、Ed Frank 以及Mike Sheridan等人于1991年在Sun Microsystems公司设计出来的,开发第一个版本花了18个月时间。

该语言最初名叫“Oak”,后来发现“Oak”已经是Sun公司另外一种语言的注册商标,于1995年更名为“Java”,即太平洋上一个盛产咖啡的岛屿的名字。

从1992 的秋天Oak问世,到1995春天公开发布Java语言,许多人都对Java 的设计和改进做出了贡献。

自从于1995年被正式推出之后,Java语言就以其独特的优势迅猛发展,经过短短8、9年时间,成为迄今为止最为优秀的面向对象语言。

Java也从当初的一种语言而逐渐形成一种产业,基于Java 语言的J2EE架构已成为微软.NET平台的强大竞争对手。

当初,Java 语言最初的发布不亚于一场革命,但是它并不标志着Java快速革新时代的结束。

在Java 1.0发布后不久,Java的设计者就已经制定出了Java 1.1、 Java 1.2、 Java 1.3、 Java 1.4 、Java 2、Java 2.1.4版。

作为当前一种被广泛使用的面向对象编程语言,Java具有多方面的特点。

如果与其他众多的编程语言作一下比较,会发现这些特点正是Java语言之所以如此风靡的原因所在。

虽然Java在某些方面(例如资源耗费)也存在一些不足,但这丝毫不影响Java作为目前最优秀面向对象编程语言的地位。

Java是一种被广泛使用的网络编程语言,这是一种新的计算概念。

网络环境下的编程语言最需要解决的是可移植性和安全性问题。

以字节方式进行编码,使得程序不受运行平台和环境的限制成为可能。

相关文档
最新文档