网络舆情数据采集系统开发_毕业设计(论文)(编辑修改稿)内容摘要:

55 重庆邮电大学本科 毕业设计(论文) 1 前 言 截至目前,国内关于网络舆情的概念还没有一个统一的定义,来自天津社科院的王来华认为:舆情在其狭义上是指民众受中介性社会事项 ,刺激而产生的社会政治态度。 而网络舆情 ,则主要指使用网 络者或俗称“网民”的社会政治态度 [1]。 我个人也比较认同王来华教授的观点。 随着因特网在全球范围内的飞速发展,网络媒体已被公认为是继报纸、广播、电视之后的 ―第四媒体 ‖,网络成为反映社会舆情的主要载体之一。 网络环境下的舆情信息的主要来源有:新闻评论、 BBS、 微博 等。 网络舆情表达快捷、信息多元,方式互动,具备传统媒体无法比拟的优势。 在我国,网民以往都是呈原子状态的个体分散在全国各区域,而如今,一个由“网络化用户”构成的“网众”群体已悄然崛起,并以数以亿计的庞大用户群体构成了一个“压力集团”,截至目前,这个集团的数 量与力量还呈现出上升的态势 [2]。 结合网络舆情的特性和我国的基本国情,网民通过互联网来表达自己的观点诉求已成为我国公民参与政治生活的重要部分。 当某一社会事件被迅速关注进而升温成为社会焦点或公共性事件时,国内网民便纷纷通过 网络发表自己的看法。 正是基于这样的形式,网络舆情数据采集分析成为各级政府部门面临的不可或缺的重要课题。 经过这几年发展,新浪微博 [3]在国内社交平台市场的竞争中算是领先一步,他占据了大部分用户群体。 结合国内对舆情信息的采集分析工作的迫切需求,本文的作品就设计了一个专门针对新浪微博的舆情 数据采集系统,它包含如下几个功能:查询指定用户的微博信息、查询指定微博的评论信息和转发信息、查询指定用户的所有粉丝和 搜索该用户 的 粉丝、查询指定用户的所有 关注和搜索该用户的 关注 ;该作品不仅做了数据的展现,还实现了数据存储,每次查询的用户信息、微博信息等都被 存储在本地数据库中。 舆情数据采集是舆情信息监控的基础, 这明确了本系统存在的意义。 另外,对政府部门来说,他们可以通过研究这些舆情数据 ,了解民众的政治态度和 需求,只有更彻底的了解民生,才能更好的 制定政策为人民服务;对于商家来说,他们可以研究这些舆情数据 ,了解消费 者对他们产品的评价,就能有针对性的对产品进行改善,这样既能提升产品的质量,获得消费者的信赖,又能增加收益,达到双赢的目的;对于研究所来说,他们可以对这些数据进行数据挖掘,实现其相应的价值。 重庆邮电大学本科 毕业设计(论文) 2 第一章 系统相关技术概述 第一节 Java 技术概述 一、 Java 简要介绍 Java 由 Sun Microsystems 公司于 1995 年 5 月推出 的一门面向对象的程序设计语言,用它编写的应用程序具有跨平台的特征。 Java 框架下包含三大平台:JavaSE、 JavaEE 和 JavaME。 JavaSE 是 Java 平台标准版的 简称,用于开发 服务器、 桌面 和嵌入式设备中的 Java 应用程序; JavaEE 一种用来 简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构 , JavaEE的基础是 JavaSE。 JavaME 是一个用来为移动平台提供 的基于 Java 环境开发的技术规范的集合。 Java 技术凭借着它的高效性、安全性、通用性和平台移植性,目前被广泛应用于个人 PC、移动电话、科学超级计算机、游戏控制台和互联网等领域。 在全球云计算和移动互联网的产业环境下, Java[4]更具备了显著优势和广阔前景。 二、 GUI图形用户界面 随着 互联网 的飞速 发展, Java 技术也得到了越来越广泛的应用。 而无论我们是采用 JavaSE、 JavaEE 还是 JavaME 开发 , 图形用户界面 都是 我们 不能逃避 的问题。 现在的用户总希望我们开发的软件功能丰富强大而又操作简单,这就需要开发者注重界面的友好性, GUI 就成了 Java 开发者不可或缺的重要课题。 Java 使用 AWT 和 Swing 类库来完成图形用户界面的编程,其中 AWT的全称是抽象窗口工具集( Abstract Window Toolkit),它是 Sun公司最早提供的 GUI 库,这个 GUI 库提供了一些基本功能,但这个 GUI 库的 功能比较有限,所以后来又提供了 Swing库 [5]。 Java 开发者通过使用 AWT 和 Swing 提供的组件库,程序只需创建所需的图形组件,并用合适的布局管理器来组织这些组件按照特定的方式排列,就可以开发出非常完美的用户界面。 如果想要实现用户与界面之间的交互,开发者还应为程序添加事件监听,让事件处理来完成响应用户动作。 本论文作品主要用到了 Swing库中的 JButton、 JLable、 JTextField、JTable、 JScrollPanel、 JFrame、 JPanel 等组件,用到了 AWT 库中的 BorderLayout、FlowLayout 等布局管理器组件。 重庆邮电大学本科 毕业设计(论文) 3 三、多线程 多线程是 Java 的一大特色,那么什么是多线程呢, 下面 用一个简单的例子来解释: 我们可以在操作系统中同时运行 多个任务, 一个任务就是一个程序,每个运行中的程序我们称为 一个进程, 在这 个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 既然有多线程,那么必然会有单线程,所谓单线程 就是说程序内部只有一条顺序执行流 ; 则多线程就可以理解为 程序内部有多条顺序执行流, 而且 多个顺序执行流之间互不干扰。 Java的多线程有两种实现方式:继承 Thread 类 和实现 Runnable 接口。 本论文作品的多线程体现在给用户良好的用户体验方面:当用户点击一项功能时,如果该功能是一项很费时的操作,那么程序就会单开一个线程去完成这个费时的操作,主线程弹出用户等待提示框,当操作完成时,提示框自动消失。 四、 JDBC 数据库连接 JDBC[6]是 Java 连接数据库的一项技术,它是用来执行 SQL 语句的 Java API,它的全称是 Java Database Connectivity。 通过使用 JDBC API, Java 程序可以非常方便的操作各种主流数据库,由于 Java 语言的跨平台特性 ,所以使用 JDBC API 所编写的程序不仅可以实现跨数据库,还可以跨平台,具有非常优秀的可移植性。 JDBC 连接数据库的步骤如下(以 MySQL数据库为例): ① 加载 JDBC 驱动程序 ()。 ② 创建数据库连接 String url = jdbc: String user = root。 String password = 123456。 Connection ct = null。 ct = (url, user, password)。 ③ 预编译并执行 SQL语句 PreparedStatement ps = null。 ps = (sql)。 ()。 ④ 关闭 JDBC 对象 重庆邮电大学本科 毕业设计(论文) 4 public void close() { try { if (rs != null) ()。 if (ps != null) ()。 if (ct != null) ()。 } catch (Exception e) { ()。 } } 本论文作品主要通过 MySQL数据库来存储获取的微博、用户等信息。 第二节 新浪微博 Java SDK 一、 微博 Java SDK 概述 微博 Java SDK 是新浪为 Java 开发者提 供的专门用于访问新浪微博的接口,通过微博 Java SDK,第三方微博应用可以 很方便的访问微博提供的 API接口,获取到需要的信息。 微博 Java SDK 的整体架构包含如下几个: ① src: weibo4j 封装了大部分接口,包括授权, timeline,用户等常见接口 包含了 请求的封装 包含了 user, status 等实体类 完成 json解析的各种方法 包含了请求 api 接口时候所需要的工具类 ② examples: 里面包含了封装接口的各个测试 demo 二、 授权认证 要调用新浪微博 SDK 就需要先完成授权认证,只有授权的应用才有资格去访问微博的 API。 授权认证 [7]的步骤如下: 重庆邮电大学本科 毕业设计(论文) 5 ① 注册应用。 要调用新浪微博 API,就需要先到新浪微博开放平台去注册并创建一个应用,地址是: 新浪官方 会给每一个应用一个专属的 App Key和 App Secret。 Key跟 Secret 的使用方式跟其他一些协议中的公钥私钥的方案相类似,你可以使用你所熟悉的编程语言将 key和secret 结合,为你发出的每个请求添加签名,以此来向新浪微博开放平台表明自己身份的合法性。 ② 填写配置文件。 到 client_ID、client_SERCRET和 redirect_URI三个参数 ,他们分别 填写你的应用的 App Key、App Secret和回调地址。 ③ 获取 code参数。 运行 OAUTH4CODE类,获取 code,即用户授权登陆后,地址栏上出现的 code。 ④ 通过 code换取 access_token。 获取到 access_token后,表示我们的应用已经授权成功,我们就可以通过 access_token来访问新浪微博 API的接口。 第 三 节 MySQL 技术概述 一、 MySQL 概述 MySQL[8]是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB公司 ,现已被 Oracle 公司收购。 MySQL 与目前市场上的其他大型数据库( Oracle、 DB SQL Server)相比,存在功能小、规模有限等不足。 但这些不足丝毫没有减少它的受欢迎度,相反,这些不足反而成就了它小巧、查询快捷、健壮易用的优点, 让 MySQL成为了目前大多数中小型企业的首选,由于MySQL 是一款开源软件,这个可以大大降低企业的开销成本,这一特点也是MySQL如此受欢迎的原因之一。 二、 MySQL 的特性 MySQL 作为 一个小型关系型数据库管理系统 ,它有如下特性 来让用户选择它作为自己应用的数 据库 : ① 使用 C 和 C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 ; 重庆邮电大学本科 毕业设计(论文) 6 ② 支持 AIX、 FreeBSD、 HPUX、 Linux、 Mac OS、 Novell Netware、 OpenBSD、OS/2 Wrap、 Solaris、 Windows 等多种操作系统 ; ③ 为多种编程语言提供了 API。 这些编程语言包括 C、 C++、 Eiffel、 Java、Perl、 PHP、 Python、 Ruby和 Tcl 等 ; ④ 支持多线程,充分利用 CPU资源 ; ⑤ 优化的 SQL查询算法,有效地提高查询速度 ; ⑥ 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 231 BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名 ; ⑦ 提供 TCP/IP、 ODBC 和 JDBC 等多种数据库连接途径 ; ⑧ 提 供用于管理、检查、优化数据库操作的管理工具 ; ⑨ 可以处理拥有上千万条记录的大型数据库 ; 第 四 节 本章小结 在本章中,主要对 网络舆情数据采集系统开发涉及到的技术理论知识进行了基本介绍, 其中主要介绍了 Java 中的 GUI 图形用户界面的实现机制, JDBC数据库连接原理和步骤、 Java 多线程的原理和实现方式、 新浪微博 Java SDK的概述和授权 步骤 ,最后对 MySQL数据库进行了简要的介绍。 重庆邮电大学本科 毕业设计(论文) 7 第二章 需求分析 需求分析工作是软件 工程 [9]生命 周期中 的第一步 ,也是起决定性的一 步 ,在需求分析阶段我们需要 全面了解 整个系统的功能和性能方面的要求,为软件设计打下坚实的基础。 需求分析阶段 的目标主要有:获得目标系统的物理模型,了解目标系统 的运行原理及机制 ;抽象出目标系统的逻辑模型,对物理模型进行筛选,得到与软件系统有关的部分;建立目标系统的逻辑模型,得出数 据流图和数据字典;补充目标系统的逻辑模型,对目标系统的用户界面 、 至今尚未考虑的细节进行说明。 第一节 系统功能需求 一、 系统目标 网络舆情很客观的反应民众的需求与政治态度,政府迫切需要了 解舆情,正式基于这样的需求,本系统应运而生,完成 微博信息的收集并实现数据的 展示功能 ,为后面的舆情分析打下基础。 二、 功能分析 开发软件首先做的是开发过程中最主要的就是系统的需求分析 [10],需求分析同时也是软件生存周期中关键的一步。 根据软件工程学中开发软件的要求,对系统全部功能。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。