内容:程序代码,毕业论文(9738字)
摘要:当前,面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以借助于搜索引擎到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外人们使用最多的网上服务。随着Internet的快速发展,海量信息和人们获取所需信息能力之间的矛盾日益明显,在信息海洋里查找信息,如同大海捞针一样,搜索引擎恰好解决了这一难题。
Web音乐搜索软件是采用Java语言开发的简易的互联网音乐搜索引擎,它是集网络爬虫(采用java内置的多线程及Socket技术)和基于B/S结构的Web查询(Struts框架)为一体的搜索软件。该系统能完成对互联网的音乐信息的采集、分析、分类、保存和查询等功能;经过测试与分析,说明本系统运行稳定、可靠,具有一定的实用价值。
关键字:音乐;搜索软件;网络爬虫;Socket技术;Struts框架;多线程
目 录
1 引 言1
1.1 课题背景1
1.2 国内外研究现状1
1.3 本课题研究的意义2
1.4 本文的主要工作2
2 Web音乐搜索软件的需求分析2
2.1 搜集信息2
2.2 整理信息2
2.3 接受查询3
3 Web音乐搜索软件的设计3
3.1 系统总体流程3
3.2 系统部件介绍4
4 Web音乐搜索软件的具体实现5
4.1 数据设计5
4.2 网络爬虫设计5
4.2.1 遍历算法6
4.2.2 模拟浏览器8
4.2.3 正则表达式9
4.2.4 数据分析12
4.3 采用java多线程技术13
4.4 web查询端14
4.4.1 Struts框架14
4.4.2 Struts包内容14
4.4.3 Struts体系结构15
5 运行测试与分析17
5.1 软件试运行17
5.2 软件分析19
1 引 言
1.1 课题背景
面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。
随着因特网的迅猛发展、WEB信息的增加,用户要在信息海洋里查找信息,就如同大海捞针一样,搜索引擎恰好解决了这一难题(它可以为用户提供信息检索服务)。但是随着Internet的发展,搜索引擎也面临着海量信息和人们获取所需信息能力的矛盾。
因此,信息的高效搜索显得格外重要。
1.3 本课题研究的意义
搜索引擎自动从英特网搜集信息,经过一定整理以后,提供给用户进行查询的系统。英特网上的信息浩瀚万千,而且毫无秩序,所有的信息像汪洋上的一个个“小岛”,网页链接是这些“小岛”之间纵横交错的桥梁,而搜索引擎,则为你绘制一幅一目了然的信息地图,供你随时查阅。搜索技术的意义在此。
1.4 本文的主要工作
搜索引擎是根据用户的查询请求,查找信息返回给用户。为了保证用户查找信息的精度和新鲜度,搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络爬虫程序、数据分析,查询数据等部分组成。
本文的各章分配是这样安排的:第一章介绍系统的开发背景;第二章介绍系统的需求分析;第三章介绍系统的总体结构;第四章介绍系统的详细设计;第五章测试与运行本系统;最后是全文的总结。
2 Web音乐搜索软件的需求分析
随着因特网的迅猛发展、WEB信息的增加,用户要在信息海洋里查找信息,就像大海捞针一样,搜索引擎恰好解决了这一难题(它可以为用户提供信息检索服务)。但是随着Internet的发展,搜索引擎也面临着海量信息和人们获取所需信息能力的矛盾。
一个好的搜索引擎不再仅凭借数据库大小、更新频率、检索速度、对多语言的支持这几个基本特性来衡量,如何从庞大的资料库中精确地找到正确的资料,被公认为是下一代搜索技术的竞争要点,智能化、个性化特色的新型引擎成为未来搜索引擎的发展趋势。
搜索引擎需要实现互联网信息的快速查询,要实现以下功能。
2.1 搜集信息
搜索引擎的信息搜集基本都是自动的。搜索引擎利用称为网络蜘蛛(spider)的自动搜索机器人程序来连上每一个网页上的超连结。机器人程序根据网页链到其它网页中的超链接,就像日常生活中所说的“一传十,十传百……”一样,从少数几个网页开始,连到数据库上所有到其他网页的链接。理论上,若网页上有适当的超链接器人便可以遍历绝大部分网页。
2.2 整理信息
搜索引擎整理信息的过程称为“建立索引”。搜索引擎不仅要保存搜集起来的信息,还要将它们按照一定的规则进行编排。这样,搜索引擎根本不用重新翻查它所有保存的信息而迅速找到所要的资料。想象一下,如果信息是不按任何规则地随意堆放在搜索引擎的数据库中,那么它每次找资料都得把整个资料库完全翻查一遍,如此一来再快的计算机系统也没有用。
2.3 接受查询
用户向搜索引擎发出查询,搜索引擎接受查询并向用户返回资料。搜索引擎每时每刻都要接到来自大量用户的几乎是同时发出的查询,它按照每个用户的要求检查自己的索引,在极短时间内找到用户需要的资料,并返回给用户。目前,搜索引擎返回主要是以网页链接的形式提供的,这些通过这些链接,用户便能到达含有自己所需资料的网页。通常搜索引擎会在这些链接下提供一小段来自这些网页的摘要信息,以帮助用户判断此网页是否含有自己需要的内容。
4 Web音乐搜索软件的具体实现
4.1 数据设计
本系统的开发采用mysql数据库,它提供强大的数据查询功能,能快速的查找出用户需要的信息。
(1)数据库名:musicexplorer
(2)表 mappingmusic(主要用音乐url和音乐名字的映射)
在图4.1中,各字段名的含义如下:
① m_name,音乐名称;
② m_url,音乐的url地址;
③ m_type,音乐的类型;
④ m_date,采集音乐的时间。
结 论
随着搜索经济的崛起,人们开始越加关注全球各大搜索引擎的性能、技术和日流量。作为企业,会根据搜索引擎的知名度以及日流量来选择是否要投放广告等;作为普通网民,会根据搜索引擎的性能和技术来选择自己喜欢的引擎查找资料;作为研究者,会把有代表性的搜索引擎作为研究对象。
搜索引擎是根据用户的查询请求,查找信息返回给用户。为了保证用户查找信息的精确度和新鲜度,搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络爬虫程序、数据分析,数据查询等部分组成。
Web音乐搜索软件系统实现了互联网信息采集,发布,查询等环节,是对当前通用的搜索引擎(如google,badidu)的研究总结:本设计首先分析了当前通用流行的搜索引擎的各个流程:信息采集(主要是遍历算法)、信息分析(对网络字符的分析)及查询控制(数据的查询)的原理;并使用网络爬虫来实现网络信息的采集,并通过正则表达式对采集到的信息进行分析;在本软件的开发使用java语言进行开发;最后通过测试与分析,说明Web音乐搜索软件是当今通用搜索引擎的一个缩影版,研究点。
通过本次设计学到了软件开发的过程,明确了需求分析在软件设计中的重要地位,锻炼了自己的自学能力,也是对大学四年学习的成果展示。
致 谢
本文是在张仕斌老师和陈念伟老师的热情关心和指导下完成的,他们渊博的知识和严谨的治学态度使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他们表示我最衷心的感谢!
在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意!
最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!
参考文献
[1] Andrew S.Tanenbaum.计算机网络[M].北京:清华大学出版社,1998。
[2] Anonymous.网络最高安全技术指南[M].北京:机械工业出版社,1998。
[3] David A.Solomon.WindowsNT技术内幕[M].北京:清华大学出版社,1999。
[4] Douglas E.Comer.TCP/IP网络互连技术[M].北京:清华大学出版社,1998。
[5] 耿祥义,张跃平.Java2使用教程(第三版)[M].北京:清华大学出版社,2006。
[6] 张仕斌,谭三.网络安全技术[M].北京:清华大学出版社,2002。