免费预览已结束,剩余45页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JIANGXINORMALUNIVERSITY 学士学位论文学士学位论文 THESISOFBACHELOR 2010 2014 年 年 比赛信息集成系统比赛信息集成系统 后台网络爬虫与信息处理后台网络爬虫与信息处理 Platform game information integration system The network and information processing 指指 导导 老老 师师 彭雅丽 讲师 彭雅丽 讲师 姓姓 名名 何亚婷何亚婷 学学 号号 201067001335 学学 院院 软件学院软件学院 专专 业业 软件工程软件工程 完完 成成 时时 间间 2014 年年 3 月月 精选 声 明 本人郑重声明 所呈交的毕业设计 论文 是本人在指导教师指导下进行的研 究工作及取得的研究成果 其中除加以标注和致谢的地方 以及法 律规定允许的之外 不包含其他人已经发表或撰写完成并以某种方 式公开过的研究成果 也不包含为获得其他教育机构的学位或证书 而作的材料 其他同志对本研究所做的任何贡献均已在文中作了明 确的说明并表示谢意 本毕业设计 论文 成果是本人在江西师范大学读书期间在指 导教师指导下取得的 成果归江西师范大学所有 特此声明 声明人 毕业设计 论文 作者 学号 声明人 毕业设计 论文 作者 签名 签名日期 年 月 日 摘要 摘要摘要 针对当前网络中对于比赛信息整合的缺乏 人们难以方便地寻找到当前某 一阶段所举办的全部比赛信息的现状 为此 全力打造一个服务于在校学生和 在职人员等轻松 便捷 互动地参与各类竞赛活动的竞赛门户网站迫在眉睫 因此 该系统致力于系统地收集和整理各个领域的各类赛事 为参赛者提供最 优质的信息服务 使得来自全国各地的参赛选手可以相互学习可以分享心得 并 且通过各种有意义的比赛不断提升自己 为了提供最全面的大学生赛事信息 比赛信息平台通过设计赛事的爬虫系 统 整合所有的赛事信息 并经过筛选后呈现在用户面前 系统主要功能模块 包括前台网站的实现 网络爬虫的制作 论坛的开发 后台开发与管理以及会 员空间的开发与实现 系统使用了 heritrix htmlparser 和 java 相结合的技术开 发 后台使用 heritrix 和 htmlparser 技术实现比赛信息的抓取和筛选等工作 同 时使用 java 技术录入信息 并管理前台的会员信息 论坛信息及赛事信息等 前台运用 java 技术 js 特效等实现赛事呈现 论坛运行 会员赛事发布等功能 论文首先叙述了系统的开发背景和研究内容 接着简单介绍了系统的开发 平台及相关技术 然后对系统做了一个整体的系统规划和交互数据的设计 最 后对网络爬虫模块和后台信息筛选调度模块的设计与具体实现做了重点阐述 关键词关键词 网络爬虫技术 页面解析技术 数据流技术 js 特效 Abstract I Abstract In view of the current network for lack of competition information integration 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 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 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 web crawler the forum s 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 information 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 development 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 himself 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 章 引言 1 1 1 系统开发的背景 1 1 2 系统开发的目标 意义 1 1 3 本文的组织 2 第 2 章 相关技术简介 4 2 1 系统开发平台及开发工具 4 2 2 工具和编程语言 4 2 2 1 HERITRIX技术 5 2 2 2 HTMLPARSER技术 6 2 2 3 JAVA语言 6 2 2 4 JAVA IO流技术 7 2 2 5 JDBC 技术 8 第 3 章 系统分析与设计 9 3 1 功能需求 9 3 1 1 系统数据流图 9 3 1 2 系统状态图 11 3 2 功能介绍 12 3 3 概念结构 13 3 3 1 概念结构设计 13 3 3 2 逻辑结构设计 14 第 4 章 模块实现 17 4 1 爬虫模块 17 4 1 1 设计事项 17 4 1 2 操作界面 17 4 1 3 核心代码 23 4 2 页面解析文本信息入库模块 HTMLPARSER 29 目录 III 4 2 1 设计思想 29 4 2 2 操作界面 29 4 2 3 核心代码 31 4 3 信息筛选上传 信息查看删除的模块 34 4 3 1 设计思想 34 4 3 2 操作界面 35 4 3 3 核心代码 37 总结 40 参考文献 42 第 1 章 引言 0 第第 1 1 章章 引言引言 1 1 系统开发的背景 信息在现代经济生活中的作用越来越大 对于个人而言 缺乏信息将导致 很多机会的丧失 与此同时 现在的大学生缺乏社会实践锻炼 自我竞争的意 识在逐渐降低 而且社会上多数在校大学生沉迷于网络游戏 缺乏主动学习 参与竞争的意识 当下社会 竞争与挑战是每一个人都将面对且必须面对的 比赛 是可以 更好地证明自己的一个重要手段 然而现今缺乏一个整合了所有比赛信息方便 人们寻找的平台 学生获得信息的途径也总是少得可怜 有一个属于自己的比赛信息集成系统成为亟待解决的问题 缺少一个可以 每天登陆系统 了解到当下最新的比赛资讯 能够分门别类的 整整有序的 及时全面的网站平台 鉴于此想法 本次项目选择开发比赛信息集成系统 希 望通过比赛信息集成系统这个平台让大学生真正得到锻炼的机会 让他们认识 到自己的真正价值 发现自己除了游戏之余还有更大的发展空间 目前 国内同类的赛事信息类系统有 赛才网 赛才网偏社区 家园 群 组 提供的范围较大且包含很多新闻信息 与赛事信息集成系统地不同在于 比赛信息集成系统要做的是以赛事信息提供为主 主打 方便 即时 全面 的概念 对赛事信息要求较高 讨论交流区为辅 两者侧重点不一 针对于此 此次项目致力打造一个服务于在校大学生的轻松 便捷 互动 地参与各类竞赛活动的竞赛门户网站 致力于系统地收集和整理各个领域的各 类赛事 为参赛者提供最优质的信息服务 使得来自全国各地的参赛选手可以相 互学习分享心得 通过各种有意义的比赛不断提升自己 希望通过此次开发的平 台项目 能为广大学生及赛事爱好者提供全面 即时的赛事信息 在分享赛事 资讯的同时提供一个交流 讨论的平台 1 2 系统开发的目标 意义 开发目标 本系统主要为全力打造一个服务于在校学生和在职人员等轻松 便捷 互动地参与各类竞赛活动的竞赛门户网站 为参赛者提供最优质的信息 服务 来自全国各地的参赛选手可以相互学习分享心得 通过各种有意义的比赛 不断提升自己 系统中主要的开发包括赛事信息网站前台以及赛事网站后台两 第 1 章 引言 1 大部分 其中前台中 本组开发主要集中于网站的开发 方便用户浏览下载信 息 赛事论坛开发 用户可以分享赛事经验 共享赛事资源 用户中心开发 方便用户获得更多的赛事资源的权利 而后台 主要着重爬虫系统开发 半自 动傻瓜式的获取全网更多赛事资源 整合成为本系统的资讯 赛事资源丰富 更受用户青睐 用户管理 论坛管理等等 系统地 有条理地管理前台信息 让系统健全运行 通过前后台的整合 统一 协调地完成此次系统开发出分门 别类的 整整有序的 及时全面的赛事网站平台 系统开发能为在校的大学生提供最为全面 优质的赛事信息 为提高中国 大学生的身心素质做出贡献 主要表现在 1 有利于大学生正确认识自己 对 自身成长产生紧迫感 通过广泛的社会比赛 能让学生看到自己和市场需求之 间的差距 看到自身知识和能力上存在的不足 比较客观地去重新认识 评价 自我 逐渐摆正个人与社会 个人与人民群众的位置 2 有利于大学生对理 论知识的转化和拓展 增强运用知识解决实际问题的能力 大学生以课堂学习 为主要接受方式 这对大学生来说非常重要 但这些理论知识并不代表大学生 的实际技能 往往难以直接运用于现实生活之中 比赛的方式使大学生接近社 会 获得大量的感性认识和许多有价值的新知识 同时使他们能够把自己所学 的理论知识与接触的实际现象进行对照 比较 把抽象的理论知识逐渐转化为 认识和解决实际问题的能力 3 有利于发展大学生的组织协调能力和创新意 识 各种种类繁多的比赛没有课堂教学太多的束缚和校园生活的限制 学生们 的积极性被充分调动起来 兴趣高涨 思维也空前的活跃起来 往往会产生一 些创造性火花 在实践中勇于开拓 敢于创新 4 有利于提高大学生个人素 养 完善个性品质 在比赛中的困难和危险面前 要求大学生们具有一定的牺 牲精神和坚强的品质 赛事活动多了 并且能深入下去 大学生在积极参与的 过程中 就会逐渐养成坚韧 顽强的优良品性 养成务实的学习态度和生活作 风 不断提高自己 完善自己 1 3 本文的组织 论文正文包括四章 引言 系统相关技术 比赛信息集成系统的分析与设 计 系统模块的设计与实现 第 1 章为绪论 分为 3 节 主要介绍系统的开发背景 系统的开发目标及 研究内容及本文的组织 第 2 章为系统相关技术 分为 2 节 主要介绍系统相关技术 爬虫技术功 能 页面解析的功能 以及信息筛选及录入的功能等的前提下进行介绍的 运 第 1 章 引言 2 用了heritrix htmlparser java io java技术等实现 第 3 章为比赛信息集成系统的分析与设计 分 4 节 包括系统模块设计 功能需求 数据需求 数据库设计 第 4 章为个人模块设计与实现 分 4 节 包括比赛信息系统的爬虫模块 页面解析文本信息入库模块 以及信息筛选上传 信息查看删除的模块的设计 第 2 章 相关技术简介 3 第第 2 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 MyEclipse 8 0 2 2 工具和编程语言 在比赛信息集成系统中 运用了java sql heritrix htmlparser等技术 其中后台主要运用了heritrix爬虫技术 首先 Heritrix 1 是一个纯由Java开发的 开源的Web网络爬虫 用户 可以使用它从网络上抓取想要的资源 它来自于www archive org Heritrix 最出色之处在于它的可扩展性 开发者可以扩展它的各个组件 来实现个性的 抓取逻辑 比赛信息系统利用它实现更多赛事信息的全网爬取 取得更多的大 学生赛事资源 其次 Java 2 3 语言是一种功能强大的编程语言 负责heritrix应用的业务 逻辑的实现和对应用程序进行控制 再次 Htmlparser是一个纯的java写的html 标准通用标记语言下的一 个应用 解析的库 它不依赖于其它的java库文件 主要用于改造或提取 html 它能超高速解析html 而且不会出错 就其他解析工具来说 htmlparser就是目前最好的html解析和分析的工具 因此 从heritrix爬取 下来的 Html页面通过htmlparser遍历解析成 Txt文件 为赛事信息的筛选以 及录入做好充足的准备 因为htmlparser需要与数据库sql连接进行页面的解 析存储 因此本系统在这里运用了JAVA中的资源文件 properties 通过加 载app properties文件实现遍历 Html文件解析并保存到指定的文件中 再次 本系统还引入了java io包完成最后解析成功的 Txt文件的读写工 作 JAVA IO 4 流可分为四大抽象类 字符流 ReaderWriter 字节流 InputStream 读数据 OutputStream 写数据 本系统中主要运用的是字节 第 2 章 相关技术简介 4 流与读写数据InputStream 和 OutputStream 最后 而存入数据库则使用较为普遍的JDBC 5 技术 JDBC Java Data Base Connectivity java数据库连接 是一种用于执行SQL语句的Java API 可以为多种关系数据库提供统一访问 它由一组用Java语言编写的类和 接口组成 JDBC提供了一种基准 据此可以构建更高级的工具和接口 使数 据库开发人员能够编写数据库应用程序 下面就heritrix htmlparser java及java io JDBC进行介绍 2 2 1 heritrix 技术 heritrix 6 技术Heritrix是一个专门为互联网上的网页进行存档而开发的 网页检索器 它使用Java编写并且完全开源 它主要的用户界面可以通过一个 web流量器来访问并通过它来控制检索器的行为 另外 它还有一个命令行工 具来供用户选择调用 Heritrix是由互联网档案馆和北欧国家图书馆联合规范化编写于 2003 年 初 第一次正式发布是在 2004 年 1 月 并不断的被互联网档案馆和其他感兴趣 的第三方改进 到现在已经成为一个成熟的开源爬虫 并被广泛使用 它的工 作流程是一个循环 具体流程是 1 在预定的URI中选择一个 2 从选择的 URI的网址下载远程文件 3 分析 归档下载到的内容 4 从分析到的内容里面 选择感兴趣的URI 加入预定队列 5 标记已经处理过的URI Heritrix的使用首先应该知道它的配置与使用 在这里 本系统用的是 heritrix的 1 14 4 的版本 安装heritrix时值得注意的heritrix properties文 件 在 heritrix properties中配置了大量与Heritrix运行息息相关的参数 这 些参数主要是配置了Heritrix运行时的一些默认工具类 WebUI启动参数 以及Heritrix的日志格式等 当第一次运行Heritrix时 只需要修改该文件 为其加入WebUI的登录名和密码 接着可以实行简单的任务抓取工作 当然 简单的安装于抓取工作不能满 足本系统的需求 因此需要更多的扩展与组件的开发 首先需要扩 FrontierScheduler 将需要的所有链接的处理 将已经爬过的URI做标记 并将未处理的链接放入待处理队列 其次 扩展MirrorWriterProcessor 有的 时候我们需要在网页下载之前将网页进行分析并提取有效内容存储起来 这时 我们可以扩展MirrorWriterProcessor这个模块 利用一个开源的包 htmlparser分析网页结构 并将结果存储起来 htmlparser可以在文件中获得 再将下载的包添加到项目的引用列表中 从而实现下个步骤的开发 第 2 章 相关技术简介 5 2 2 2 Htmlparser 技术 HTMLParser主要是常用来解析html页面并获取自己需要的数据 经常 是和网络爬虫 如 Heritrix 一同使用 它的基本功能是 1 信息提取 1 文本信息抽取 例如对HTML进行有效信息搜索 2 链接提取 用于自动给页面的链接文本加上链接的标签 3 资源提取 例如对一些图片 声音的资源的处理 4 链接检查 用于检查HTML中的链接是否有效 5 页面内容的监控 2 信息转换 1 链接重写 用于修改页面中的所有超链接 2 网页内容拷贝 用于将网页内容保存到本地 3 内容检验 可以用来过滤网页上一些令人不愉快的字词 4 HTML信息清洗 把本来乱七八糟的HTML信息格式化 5 转成XML格式数据 本系统主要是通过htmlparser解析heritrix爬取下来的许多html文件 通过相关正则表达式知识 遍历解析html信息 再把本来乱七八糟的html信 息格式化成txt文本 方便java io流进行读写操作 2 2 3 java 语言 java语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语 言 是由Sun Microsystems公司于 1995 年 5 月推出的Java程序设计语言和 Java平台 即JavaSE JavaEE JavaME 的总称 Java 技术具有卓越的通 用性 高效性 平台移植性和安全性 广泛应用于个人PC 数据中心 游戏 控制台 科学超级计算机 移动电话和互联网 同时拥有全球最大的开发者专 业社群 在全球云计算和移动互联网的产业环境下 Java更具备了显著优势和 广阔前景 java 7 编程语言的风格十分接近C语言 C 语言 Java是一个纯粹的面 向对象的程序设计语言 它继承了 C 语言面向对象技术的核心 Java舍弃 了C语言中容易引起错误的指针 以引用取代 运算符重载 operator overloading 多重继承 以接口取代 等特性 增加了垃圾回收器功能用于 回收不再被引用的对象所占据的内存空间 使得程序员不用再为内存管理而担 第 2 章 相关技术简介 6 忧 Java 1 5 版本中 Java 又引入了泛型编程 Generic Programming 类型安全的枚举 不定长参数和自动装 拆箱等语言特性 Java不同于一般的编译执行计算机语言和解释执行计算机语言 它首先 将源代码编译成二进制字节码 byte code 然后依赖各种不同平台上的虚拟 机来解释执行字节码 从而实现了 一次编译 到处执行 的跨平台特性 不 过 每次的执行编译后的字节码需要消耗一定的时间 这同时也在一定程度上 降低了 Java 程序的性能 编辑Java源代码可以使用任何无格式的纯文本编辑器 在Windows操作 系统上可以使用微软记事本 Notepad EditPlus等程序 在Linux平台上 可使用vi工具等 Java是本系统前台及后台以及爬虫 页面解析技术的基础语言 通过运 用java编写的程序实现前台的功能如 登入 注册 论坛帖子发布 会员资源 管理等等 而后台主要实现后台会员管理 论坛管理 信息录入等等功能 2 2 4 java io 流技术 流 8 9 是一组有顺序的 有起点和终点的字节集合 是对数据传输的总称 或抽象 即数据在两设备间的传输称为流 流的本质是数据传输 根据数据传 输特性将流抽象为各种类 方便更直观的进行数据操作 本系统主要是输入流InputStreamIO及输出流outputStreamIO实现对 txt文本信息的读取及输入到数据库中 1 输入字节流InputStream 1 InputStream 是所有的输入字节流的父类 它是一个抽象类 2 ByteArrayInputStrea StringBufferInputStream FileInputStream 是三种基本的介质流 它们分别从Byte 数组 StringBuffer 和本地文件中 读取数据 PipedInputStream 是从与其它线程共用的管道中读取数据 与 Piped 相关的知识后续单独介绍 3 ObjectInputStream 和所有FilterInputStream 的子类都是装饰流 装 饰器模式的主角 2 输出字节流OutputStream 1 OutputStream 是所有的输出字节流的父类 它是一个抽象类 2 ByteArrayOutputStream FileOutputStream 是两种基本的介质流 它们分别向Byte 数组 和本地文件中写入数据 PipedOutputStream 是向 与其它线程共用的管道中写入数据 第 2 章 相关技术简介 7 3 ObjectOutputStream 和所有FilterOutputStream 的子类都是装饰流 本系统利用输入字节流InputStream和输出字节流OutputStream通过 file类实现对需要读取的文件夹进行遍历的操作 File类是对文件系统中文件 以及文件夹进行封装的对象 可以通过对象的思想来操作文件和文件夹 File 类保存文件或目录的各种元数据信息 包括文件名 文件长度 最后修改时间 是否可读 获取当前文件的路径名 判断指定文件是否存在 获得当前目录中 的文件列表 创建 删除文件和目录等方法 2 2 5 JDBC 技术 JDBC 10 Java Data Base Connectivity java数据库连接 是一种用于 执行SQL语句的Java API 可以为多种关系数据库提供统一访问 简单说 JDBC 可做三件事 与数据库建立连接 发送 操作数据库的语句并处理结果 在使用jdbc 11 技术是 系统需要引用sqljdbc4 jar包 通过建立java平台 与sql数据库的数据连接 从而使得赛事信息的查看等的展现 第 3 章 系统分析与设计 8 第第 3 3 章章 系统分析与设计系统分析与设计 3 1 功能需求 3 1 1 系统数据流图 系统流程图 System Flowchart 是描绘系统物理模型的传统工具 它的 基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件 程序 文件 数 据库 表格 人工过程等 表达信息在各个部件之间流动的情况 在本系统中 主要分为前台和后台两大模块 从对象上区分也 可以分为会 员功能 管理员功能以及游客功能 对于一般的未注册的游客 只能享受赛事 信息的浏览 赛事信息的检索以及赛事网站的分享功能 对于已经注册了的会 员 除了享受信息浏览 检索等一般游客的功能 同时 享有个人空间 个人 空间中实现已注册个人信息的修改 论坛发帖 赛事信息邮箱的订阅 以及相 关赛事的上传与下载的权利 对于管理员 主要是后台的论坛管理 包括论坛 帖子的添删改查 用户管理及用户信息的添删改查 以及赛事信息的管理 同 样是赛事的添删改查 最后是会员或是管理员的登入后 依据正确的用户名和 密码实现完一系列操作即可安全退出登入 反之如用户名 密码出错即登入败 在后台管理员的赛事信息管理中 还包括了爬虫管理的功能 其中需要管 理员开启服务器中的heritrix程序 根据需要爬取的网站 可以一次性或是多 次输入需要爬取的网站 再通过后台的htmlparser遍历解析出文本文件和 jpg gif等图片 再通过传入数据库java io流呈现在后台的信息管理当中 最后 管理员可将已经传入数据库的赛事信息进行分类的方式上传至前台网站 值得 一说的是 赛事过期后管理员可根据赛事信息上传的时间分批进行赛事信息的 删除 或是根据赛事上传的时间 越是晚更新越排前台网站的前端 系统数据 流图如图 3 1 和 3 2 所示 第 3 章 系统分析与设计 9 登录系统 会员 管理员 个人信息修改 论坛发帖 邮箱订阅 用户信息表 修改用户 增加用户 删除用户 修改赛事信息 删除赛事信息 发布赛事信息 用户信息表 赛事信息表 论坛信息表 游客 赛事信息检索 赛事分享 论坛管理 赛事资料上传 及下载 论坛信息表 准备资料管理 表 图 3 1 系统数据流图 用户管理登录信息身份验证成功 失败 权限识别 意外否 是 结束操作 推 出系统 根据权限不同进入不 同子系统 并执行相 应操作 图 3 2 系统数据流图 第 3 章 系统分析与设计 10 3 1 2 系统状态图 前台游客需要注册成为用户 可以享受更多功能 游客点击注册 正确填 写信息后核对成功注册完成 反之注册失败 注册成功则可进行前台登入 成 功后可以享受邮箱订阅 查看信息 发帖 论坛删帖 赛事查询 资料下载等 功能 用户在处理的这些个人功能时 需要结合数据库查询 如资料的下载上 传或是赛事的上传需要通过数据库匹配 以实现用户积分的增减 为下次的操 作提供基础 而用户赛事的上传也需要后台管理员的审核 通过审核 则可展 现在网站前台页面上 前台系统状态图如图 3 3 所示 图 3 3 前台系统状态图 后台管理员需要登入后台 通过登入成功可以享有后台的用户管理包括用 户添加以及删除 论坛帖子管理包括帖子的添加与删除 信息录入 爬虫管理 即更新爬虫信息等 管理员执行任何一种管理功能时 会出现两种不同状态 操作成功和操作失败 如在操作发帖功能时 当操作符合后台要求时 操作成 功 后台正常发布帖子 反之 失败 后台重新返回发布帖子页面 后台系统 状态图如图 3 4 所示 第 3 章 系统分析与设计 11 登入 点击登入 登入失败 后台界面 登入成功 用户信息添加 信息添加失败 点击添加 用户信息删除 添加 用户添加成功 删除用户失败 用户删除成功 点击删除 删除 帖子添加 点击添加 添加帖子失败 帖子添加成功 添加 删除帖子 点击删除 帖子删除失败 帖子删除成功 删除 更新信息 点击更新 更新失败 信息更新成功 点击更新 返回更新 爬虫管理 点击爬取 爬取失败 点击爬取 爬取成功 返回 3 4 后台系统状态图 3 2 功能介绍 前台操作模块主要是会员操作功能 1 登入模块 通过注册登入 享有个人空间 会员资料的修改 添加 2 个人中心模块 赛事资料上传 赛事信息的上传 需后台审核 论 坛帖子的发布 修改与删除 邮箱订阅 获取最新赛事信息 3 信息模块 主要是浏览赛事信息 包括赛事信息 资料信息 赛事达 人信息以及论坛帖子的浏览与回复 后台操作模块包括管理员能够实现的功能 对数据库的操作 1 用户管理 实现对用户的增加 删除 修改 查看 2 比赛信息管理 实现对信息的更新 发布 删除 3 论坛管理 实现对帖子的删除 管理 4 邮箱管理 对已进行邮箱订阅的用户的邮箱进行统一管理 以便信息 统一和及时发送 5 上传下载的管理 对用户所进行的上传下载进行管理 不合法的内容 进行屏蔽或删除 6 爬虫管理 对从网上爬来的的信息进行修改 删除和分类 对于一些 错误的信息进行修改 对于一些过期的 多余的和杂乱的信息进行删除 对于 关于比赛的信息进行统一分类 把错误率降到最低 便于用户查阅 系统功能 第 3 章 系统分析与设计 12 模块图如图 3 6 所示 比比赛赛信信息息集集成成系系统统 前前台台操操作作 后后台台操操作作 登登录录模模块块 用用 户户 名名 修修 改改 密密 码码 密密 码码 个个人人中中心心 信 息 发 布 信 息 删 除 信 息 修 改 资 料 上 传 赛 事 信 息 赛 事 达 人 资 料 下 载 信信息息模模块块 赛 事 论 坛 用用户户管管理理 信信息息管管理理 查 看 用 户 信 息 添 加 用 户 信 息 删 除 用 户 信 息 修 改 用 户 信 息 达 人 信 息 管 理 资 料 信 息 管 理 赛 事 信 息 管 理 论 坛 信 息 管 理 添 加 信 息 查 看 信 息 修 改 信 息 删 除 信 息 图 3 6 功能模块图 3 3 概念结构 3 3 1 概念结构设计 在本系统中 实体主要包括管理员 会员和游客三大种类 联系框包括操 作 管理等 实现对属性的操作 属性包括账号 密码 上传下载等 实线则 是表示属性与实体之间的联系 前台中 游客可享受信息浏览查看与注册等功能 而会员在此基础上可以 享受更多功能 因此会员都存在一对多的关系 包括通过操作实现上传 下载 查看 更新等多个属性 后台中 管理员通过操作属性发布赛事信息 更新赛 事信息以及删除赛事信息 同时可以直接管理用户信息 包括添加用户 删除 用户等等 因此可知一个管理员也可以存在一对多的关系 管理员可以包扩赛 事 帖子 用户等等的属性 而相对的 一个属性只能联系一个实体实现其数 据的联系 E R图如图中 3 5 所示 第 3 章 系统分析与设计 13 图 3 5 ER 图 3 3 2 逻辑结构设计 由上述概念结构 ER 图可知 关于用户所对应的包括了用户信息 帖子 赛 事信息等等属性 本节则说明相关属性的数据联系所对应的表格 都是通过后 台进行管理的 后台的数据表包括了用户信息表 信息录入信息表包括 科技 创新 内容信息表 影视歌舞 内容信息表 艺术爱好 内容信息表 手机 网络 内容信息表 体育竞技 内容信息表 自我展示 内容信息表 发布 赛事信息表 信息筛选内容信息表 信息录入表中的几大赛事信息表指定了信 息编号 信息内容以及 信息标题等名称 信息编号是设置为自动增长主键 用的是int型 而信息内容则是设置为Max最大的长度实现内容的完整输入 信息筛选表除了信息编号设置成主键 内容最大长度外 还存放了网页地 址名称 方便存入爬取下来的网页地址 图片地址 即可以重复使用的图片地 址资料 以及更新时间 方便后台及时更新赛事信息 时间是数据库在存入资 料时自动生成的 类别则是方便爬取不同网站类别而设定的 类别一般是同种 网站使用同一种类别 最后是发布赛事的信息表 方便前台用户的发布 因此多了发布的用户名 此项功能是为了方便后台管理员的查看与审 后台数据表如表 3 1 3 8 所示 表 3 1 科技创新 内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 信息编号numberintpNot null 信息标题tagvarchar50Not null 信息内容recontentvarcharmaxNot null 第 3 章 系统分析与设计 14 表 3 2 影视歌舞 内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 信息编号numberintpNot null 信息标题tagvarchar50Not null 信息内容recontentvarcharmaxNot null 表 3 3 艺术爱好 内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 信息编号numberintpNot null 信息标题tagvarchar50Not null 信息内容recontentvarcharmaxNot null 表 3 4 手机网络 内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 信息编号numberintpNot null 信息标题tagvarchar50Not null 信息内容recontentvarcharmaxNot null 表 3 5 体育竞技 内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 信息编号numberintpNot null 信息标题tagvarchar50Not null 信息内容recontentvarcharmaxNot null 表 3 6 自我展示 内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 信息编号numberintpNot null 信息标题tagvarchar50Not null 信息内容recontentvarcharmaxNot null 表 3 7 发布赛事信息表 中文字段名英文字段名字段类型长度主键字段值约束 编号numberintpNot null 用户名usernamevarchar50Not null 标题tagvarchar50Not null 内容convarcharmaxNot null 第 3 章 系统分析与设计 15 表 3 8 信息筛选内容信息表 中文字段名英文字段名字段类型长度主键字段值约束 编号idintpNot null 标题titlevarchar500null 内容contentvarcharmaxnull 网页地址urlvarchar500null 图片地址imageurlvarchar50null 更新时间updatevarchar500null 类别categoryvarchar50null 第 4 章 模块实现 16 第第 4 4 章章 模块实现模块实现 4 1 爬虫模块 爬虫模块是本系统的核心技术 它的实现使得系统从一个只能人工复制粘 贴别的网站的系统 变成可以按时遍历 全面 方便 针对性更强搜索信息的 半自动化系统 它的最出色之处在于良好的可扩展性 方便用户实现自己的抓取逻辑 开 发出适合的赛事信息系统 4 1 1 设计事项 由于Heritrix采用了模块化的设计 所以用户在运行时选择要用的模块 它由核心类 core classes 和插件模块 pluggable modules 构成 核心类 可以配置 但不能被覆盖 插件模块可以由第三方模块取代 因此可用实现了 特定抓取逻辑的第三方模块来取代默认的插件模块 从而满足抓取的需要 同时 需要扩展 FrontierScheduler 来抓取特定网站FrontierScheduler 是 org archive crawler postprocessor 包中的一个类 它的作用是将在 Extractor 中所分析得出的链接加入到 Frontier 中 以待继续处理 在该类的 innerProcess CrawlURI 函数中 首先检查当前链接队列中是否有一些属于 高优先级的链接 如果有 则立刻转走进行处理 如果没有 则对所有的链接 进行遍历 然后调用 Frontier 中的 schedule 方法加入队列进行理 此外 还需要向heritrix中添加自己的extractor 很明显 heritrix内嵌 的extractor并不能够很好的完成所需要的工作 是因为在解析页面是 常常 有特定的需要 比如 可能只想抓取某种格式的链接 或是抓取某个特定格式 的文本片断 heritrix所提供的大众化extractor只能将所有信息全部抓取下来 所以 系统需要写一个类 继承extractor的基类 4 1 2 操作界面 目前 Heritrix 的最新版本是 1 14 4 以下是heritrix1 14 4 的配置安装过 程 1 首先在 myeclipes中新建 Java 工程 heritrix1 2 导入库类中 第 4 章 模块实现 17 Heritrix 所用到的工具类库都在 heritrix 1 14 4 src lib 目录下 需要将 其导入 heritrix1 工程 1 将 heritrix 1 14 4 src 下的 lib 文件夹拷贝到 heritrix1 项目根目录 Configure Build Path 然后选择 Library 选项卡 单击 Add JARs 加载数据图如图 4 1 所示 图 4 1 加载数据图 2 在 heritrix1 工程上右键单击选择 Build Path 3 在弹出的 JAR Selection 对话框中选择 MyHeritrix 工程 lib 文 件夹下所有的 jar 文件 然后点击 OK 按钮 如图 4 1 所示 3 拷贝源代码 1 将heritrix 1 14 4 src src java 下的 com org 和 st 三个文件夹拷贝 进 heritrix1 工程的 src 下 这三个文件夹包含了运行 Heritrix 所必须的核 心源代码 2 将heritrix 1 14 4 src src resources org archive util 下的文件 tlds alpha by domain txt 拷贝到 heritrix1 src org archive util 中 该文件是一 个顶级域名列表 在 Heritrix 启动时会被读取 3 将 heritrix 1 14 4 src src 下 conf 文件夹拷贝至 Heritrix 工程根目 录 它包含了 Heritrix 运行所需的配置文件 第 4 章 模块实现 18 4 将 heritrix 1 14 4 src src 中的 webapps 文件夹拷贝至 Heritrix 工 程根目录 该文件夹是用来提供 servlet 引擎的 包含了 Heritrix 的 web UI 文件 需要注意的是它不包含帮助文档 如果想使用帮助 可以将 heritrix 1 14 4 zip docs中的 articles文件夹拷贝到 MyHeritrix webapps admin docs 需新建 docs 文件夹 下 或直接用 heritrix 1 14 4 zip 的 webapps 文件夹替换 heritrix 1 14 4 src src 中的 webapps 文件夹 缺点是 这个是打包好的 war 文件 无法修改源代码 拷贝完毕后的 MyHeritrix 工程目录层次如图 4 1 4 所示 这里运行 Heritrix 所需的源代码等已经准备完备 下面需要修改配置文件并添加运行参 数 4 修改配置文件 conf 文件夹是用来提供配置文件的 里面包含了一个很重要的文件 heritrix properties heritrix properties 中配置了大量与 Heritrix 运行息息 相关的参数 这些参数的配置决定了 Heritrix 运行时的一些默认工具类 Web UI 的启动参数 以及 Heritrix 的日志格式等 当第一次运行 Heritrix 时 只需要修改该文件 为其加入 Web UI 的用户名和密码 设置 heritrix Cm dline admin admin admin admin admin 分别为用户名和密码 然后 设置版本参数为 1 14 4 修改用户信息图如图 4 2 所示所示 图 4 2 修改用户信息图 5 配置运行文件 第 4 章 模块实现 19 Run Configurations 确保 Main 选项卡中的 Project 和 Main class 选项内容正确 其中的 Name 参数可以设置为任何方便识别的名字 在 MyHeritrix 工程上右键单击选择 Run As 然后在 Classpath 页选择 UserEntries 选项 此时右边的 Advanced 按钮处于激活状态 点击它 在弹出的对话框中选择 Add Folders 然后 选择 MyHeritrix 工程下的 conf 文件夹 5 创建网页抓取任务 Java Application 如果配置正确 会在控制台输出启动信息找到 org archive crawler 包中的 Heritrix java 文件 它是 Heritrix 爬虫启动的 入口 右键单击选择 Run As 运行图如图 4 3 所示 图 4 3 运行图 至此heritrix已经成功安装配置完毕 接下来需要运行文件 本系统在拓展完成FrontierScheduler和向 heritrix中添加自己的extractor 登入爬虫系统 写入需要爬取的网站地址相 关信息 爬虫界面图如图 4 4 所示 图 4 4 爬虫界面图 第 4 章 模块实现 20 首先点击 Modules 按钮 在相应的页面为此次任务设置各个处理模块 一 共有七项可配置的内容 这里我们只设置 Crawl Scope 和 Writers 两项 参 数设置图如图 4 5 所示 图 4 5 参数设置图 下面简要介绍各项的意义 1 Select Crawl Scope Crawl Scope 用于配置当前应该在什么范围内 抓
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭依恋测试的题目以及答案
- 2026年公共卫生与慢性病防控知识测试卷
- 2026年考研英语六级写作技巧专项训练习题
- 2026年环境监测技术与应用知识竞赛试卷
- 2026年心理干预与心理治疗比较测试
- 2026年四六级考试法律知识理解与运用题库
- 2026年消费者权益保护法学习要点专项训练
- 2026年古代科技与人文素养测试
- 2026年健康素养知识竞赛试卷
- 2026年信息安全风险评估备考习题
- 中医理疗公司忠诚顾客维护管理制度
- 重卡充电站项目可行性研究报告
- 基层防汛工作知识培训
- 仓储托管装卸服务合同书
- 2026美容仪器市场消费需求分析与竞争格局评估报告
- 精神科护理中的人文关怀与护理管理
- (2026年)党务工作人员知识测试题库及答案
- 2026年4月自考00160审计学试题及答案含评分参考
- 2026年动物园饲养员高频面试题包含详细解答
- 统战风险防控工作制度
- 山东中国水产科学研究院长岛增殖实验站2025年第一批统一聘笔试历年参考题库附带答案详解(5卷)
评论
0/150
提交评论