1、JIANGXINORMALUNIVERSITY学士学位论文THESISOFBACHELOR(20102014 年)比赛信息集成系统后台网络爬虫与信息处理Platform game information integration system The network and information processing指 导 老 师 :_彭雅丽(讲师)姓 名 :_何亚婷_学 号 :_201067001335学 院 :_软件学院_专 业 :_软件工程_完 成 时 间 :_2014 年 3 月_声 明本人郑重声明:所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作及取得的研究成果。其中除加
2、以标注和致谢的地方,以及法律规定允许的之外,不包含其他人已经发表或撰写完成并以某种方式公开过的研究成果,也不包含为获得其他教育机构的学位或证书而作的材料。其他同志对本研究所做的任何贡献均已在文中作了明确的说明并表示谢意。本毕业设计(论文)成果是本人在江西师范大学读书期间在指导教师指导下取得的,成果归江西师范大学所有。特此声明。声明人(毕业设计(论文)作者)学号:声明人(毕业设计(论文)作者)签名:签名日期: 年 月 日摘要摘要针对当前网络中对于比赛信息整合的缺乏,人们难以方便地寻找到当前某一阶段所举办的全部比赛信息的现状。为此,全力打造一个服务于在校学生和在职人员等轻松、便捷、互动地参与各类竞
3、赛活动的竞赛门户网站迫在眉睫。因此,该系统致力于系统地收集和整理各个领域的各类赛事,为参赛者提供最优质的信息服务,使得来自全国各地的参赛选手可以相互学习可以分享心得,并且通过各种有意义的比赛不断提升自己。为了提供最全面的大学生赛事信息,比赛信息平台通过设计赛事的爬虫系统,整合所有的赛事信息,并经过筛选后呈现在用户面前。系统主要功能模块包括前台网站的实现,网络爬虫的制作,论坛的开发,后台开发与管理以及会员空间的开发与实现。系统使用了 heritrix、htmlparser 和 java 相结合的技术开发。后台使用 heritrix 和 htmlparser 技术实现比赛信息的抓取和筛选等工作,同
4、时使用 java 技术录入信息,并管理前台的会员信息、论坛信息及赛事信息等,前台运用 java 技术 js 特效等实现赛事呈现、论坛运行、会员赛事发布等功能。论文首先叙述了系统的开发背景和研究内容,接着简单介绍了系统的开发平台及相关技术,然后对系统做了一个整体的系统规划和交互数据的设计,最后对网络爬虫模块和后台信息筛选调度模块的设计与具体实现做了重点阐述。关键词:网络爬虫技术;页面解析技术;数据流技术;js 特效。AbstractIAbstractIn view of the current network for lack of competition information integra
5、tion, it is difficult to conveniently find current situation of one stage held by all the game information. Therefore, to build a service to students and staff, easy, convenient, interactive participation in various competitions contest portal imminent, therefore, this system aims to systematically
6、collect and collate all areas of various events, to provide the best quality information service for the participants from all over the country, the contestants you can learn from each other to share experiences, and through various meaningful games continue to improve their own.In order to provide
7、students the most comprehensive event information, competition information platform through the design event crawler system, integrating all the event information, and after screening appear in front of users. The main function modules of the system including the realization of the website, making w
8、eb crawler, the forums development, the development and implementation of the development and management as well as members of space. System development using heritrix, Htmlparser and Java combination. Grab and screening, the background using heritrix and Htmlparser technology to realize the game in
9、formation, Java technology is used to input information, and manage the membership information, forum information and event information, front using Java technology JS effects such as realization of the event show, running, Members Forum event dissemination functions.This paper first describes the d
10、evelopment background of the system and the content of the research, and then introduces the system development platform and related technologies, and then designed a whole system planning and interactive data on the system, the design of network crawler module and background information screening h
11、imself responsible for the scheduling module and implementation to make the key exposition.Keywords: Web crawler technology; page analysis technology; data stream; JS effects.目录II目录第 1 章 引言 .11.1 系统开发的背景 .11.2 系统开发的目标、意义 .11.3 本文的组织 .2第 2 章 相关技术简介 .42.1 系统开发平台及开发工具 .42.2 工具和编程语言 .42.2.1 HERITRIX 技术
12、.52.2.2 HTMLPARSER 技术 .62.2.3 JAVA 语言 .62.2.4 JAVA IO 流技术 .72.2.5 JDBC 技术 .8第 3 章 系统分析与设计 .93.1 功能需求 .93.1.1 系统数据流图 .93.1.2 系统状态图 .113.2 功能介绍 .123.3 概念结构 .133.3.1 概念结构设计 .133.3.2 逻辑结构设计 .14第 4 章 模块实现 .174.1 爬虫模块 .174.1.1 设计事项 .174.1.2 操作界面 .174.1.3 核心代码 .234.2 页面解析文本信息入库模块(HTMLPARSER) .29目录III4.2.1
13、设计思想 .294.2.2 操作界面 .294.2.3 核心代码 .314.3 信息筛选上传、信息查看删除的模块 .344.3.1 设计思想 .344.3.2 操作界面 .354.3.3 核心代码 .37总结 .40参考文献 .42第 1 章 引言0第 1 章 引言1.1 系统开发的背景信息在现代经济生活中的作用越来越大,对于个人而言,缺乏信息将导致很多机会的丧失。与此同时,现在的大学生缺乏社会实践锻炼,自我竞争的意识在逐渐降低,而且社会上多数在校大学生沉迷于网络游戏,缺乏主动学习、参与竞争的意识。当下社会,竞争与挑战是每一个人都将面对且必须面对的,比赛,是可以更好地证明自己的一个重要手段。然
14、而现今缺乏一个整合了所有比赛信息方便人们寻找的平台,学生获得信息的途径也总是少得可怜。有一个属于自己的比赛信息集成系统成为亟待解决的问题。缺少一个可以每天登陆系统,了解到当下最新的比赛资讯,能够分门别类的,整整有序的,及时全面的网站平台。鉴于此想法,本次项目选择开发比赛信息集成系统。希望通过比赛信息集成系统这个平台让大学生真正得到锻炼的机会,让他们认识到自己的真正价值,发现自己除了游戏之余还有更大的发展空间。目前,国内同类的赛事信息类系统有“赛才网” 。赛才网偏社区、家园、群组,提供的范围较大且包含很多新闻信息;与赛事信息集成系统地不同在于,比赛信息集成系统要做的是以赛事信息提供为主,主打“方
15、便、即时、全面”的概念,对赛事信息要求较高,讨论交流区为辅。两者侧重点不一。针对于此,此次项目致力打造一个服务于在校大学生的轻松、便捷、互动地参与各类竞赛活动的竞赛门户网站,致力于系统地收集和整理各个领域的各类赛事,为参赛者提供最优质的信息服务,使得来自全国各地的参赛选手可以相互学习分享心得,通过各种有意义的比赛不断提升自己。希望通过此次开发的平台项目,能为广大学生及赛事爱好者提供全面、即时的赛事信息,在分享赛事资讯的同时提供一个交流、讨论的平台。1.2 系统开发的目标、意义开发目标:本系统主要为全力打造一个服务于在校学生和在职人员等轻松、便捷、互动地参与各类竞赛活动的竞赛门户网站,为参赛者提
16、供最优质的信息服务,来自全国各地的参赛选手可以相互学习分享心得,通过各种有意义的比赛不断提升自己。系统中主要的开发包括赛事信息网站前台以及赛事网站后台两第 1 章 引言1大部分。其中前台中,本组开发主要集中于网站的开发,方便用户浏览下载信息;赛事论坛开发,用户可以分享赛事经验,共享赛事资源;用户中心开发,方便用户获得更多的赛事资源的权利;而后台,主要着重爬虫系统开发,半自动傻瓜式的获取全网更多赛事资源,整合成为本系统的资讯,赛事资源丰富,更受用户青睐;用户管理、论坛管理等等,系统地、有条理地管理前台信息,让系统健全运行。通过前后台的整合,统一,协调地完成此次系统开发出分门别类的、整整有序的、及
17、时全面的赛事网站平台系统开发能为在校的大学生提供最为全面、优质的赛事信息,为提高中国大学生的身心素质做出贡献。主要表现在(1)有利于大学生正确认识自己,对自身成长产生紧迫感。通过广泛的社会比赛,能让学生看到自己和市场需求之间的差距,看到自身知识和能力上存在的不足,比较客观地去重新认识、评价自我,逐渐摆正个人与社会、个人与人民群众的位置。(2)有利于大学生对理论知识的转化和拓展,增强运用知识解决实际问题的能力。大学生以课堂学习为主要接受方式,这对大学生来说非常重要,但这些理论知识并不代表大学生的实际技能,往往难以直接运用于现实生活之中。比赛的方式使大学生接近社会,获得大量的感性认识和许多有价值的
18、新知识,同时使他们能够把自己所学的理论知识与接触的实际现象进行对照、比较,把抽象的理论知识逐渐转化为认识和解决实际问题的能力。(3)有利于发展大学生的组织协调能力和创新意识。各种种类繁多的比赛没有课堂教学太多的束缚和校园生活的限制,学生们的积极性被充分调动起来,兴趣高涨,思维也空前的活跃起来,往往会产生一些创造性火花,在实践中勇于开拓、敢于创新。(4)有利于提高大学生个人素养,完善个性品质。在比赛中的困难和危险面前,要求大学生们具有一定的牺牲精神和坚强的品质。赛事活动多了,并且能深入下去,大学生在积极参与的过程中,就会逐渐养成坚韧、顽强的优良品性,养成务实的学习态度和生活作风,不断提高自己、完
19、善自己。1.3 本文的组织论文正文包括四章:引言、系统相关技术、比赛信息集成系统的分析与设计、系统模块的设计与实现。第 1 章为绪论,分为 3 节,主要介绍系统的开发背景、系统的开发目标及研究内容及本文的组织。第 2 章为系统相关技术,分为 2 节,主要介绍系统相关技术:爬虫技术功能、页面解析的功能、以及信息筛选及录入的功能等的前提下进行介绍的,运第 1 章 引言2用了 heritrix、htmlparser、java io、java 技术等实现。第 3 章为比赛信息集成系统的分析与设计,分 4 节,包括系统模块设计,功能需求,数据需求,数据库设计。第 4 章为个人模块设计与实现,分 4 节,
20、包括比赛信息系统的爬虫模块、页面解析文本信息入库模块,以及信息筛选上传、信息查看删除的模块的设计。第 2 章 相关技术简介3第 2 章 相关技术简介2.1 系统开发平台及开发工具硬件环境: 个人 PC、电网、电信网络等。软 件 环 境 : MyEclipse 8.0、Apache、Tomcat 5.5。相关技术: Html+div+css+javascript;爬虫 heritrix;页面解析技术:htmlparser;数据库 sql;struts2 模式。相 关 工 具 : Microsoft SQL Server 2005、Macromedia dreamweaver 8、My Eclip
21、se 8.0。2.2 工具和编程语言在比赛信息集成系统中,运用了 java+sql+heritrix+htmlparser 等技术。其中后台主要运用了 heritrix 爬虫技术。首先,Heritrix 1是一个纯由 Java 开发的、开源的 Web 网络爬虫,用户可以使用它从网络上抓取想要的资源。它来自于 www.archive.org。Heritrix最出色之处在于它的可扩展性,开发者可以扩展它的各个组件,来实现个性的抓取逻辑,比赛信息系统利用它实现更多赛事信息的全网爬取,取得更多的大学生赛事资源。其次,Java 2 3语言是一种功能强大的编程语言,负责 heritrix 应用的业务逻辑的
22、实现和对应用程序进行控制。再次,Htmlparser 是一个纯的 java 写的 html(标准通用标记语言下的一个应用)解析的库,它不依赖于其它的 java 库文件,主要用于改造或提取html。它能超高速解析 html,而且不会出错。就其他解析工具来说,htmlparser 就是目前最好的 html 解析和分析的工具。因此,从 heritrix 爬取下来的.Html 页面通过 htmlparser 遍历解析成.Txt 文件,为赛事信息的筛选以及录入做好充足的准备。因为 htmlparser 需要与数据库 sql 连接进行页面的解析存储,因此本系统在这里运用了 JAVA 中的资源文件(properties),通过加载 app.properties 文件实现遍历.Html 文件解析并保存到指定的文件中。再次,本系统还引入了 java.io 包完成最后解析成功的.Txt 文件的读写工作。JAVA IO4流可分为四大抽象类:字符流:ReaderWriter,字节流:InputStream(读数据)OutputStream(写数据)本系统中主要运用的是字节