目 录
1 绪论 1
1.1 论文研究背景与意义 1
1.2 论文研究内容 2
2 系统需求分析 4
2.1 系统需求概述 4
2.2 系统需求分析 4
2.2.1 系统功能要求 4
2.2.2 系统IPO图 5
2.2 系统非功能性需求分析 5
3系统概要设计 7
3.1 设计约束 7
3.1.1需求约束 7
3.1.2设计策略 7
3.1.3 技术实现 8
3.3 模块结构 8
3.3.1 模块结构图 8
3.3.2 系统层次图 10
3.3.3 面向对象设计UML图 10
4 系统详细设计 13
4.1 系统模块设计 13
4.1.1 数据采集模块 13
4.1.2中文分词模块 18
4.1.3相似度匹配模块 22
4.1.4数据展示模块 25
4.2系统异常处理 29
4.2.1爬虫异常总体概况 29
4.2.2爬虫访问网页被拒绝 29
5 软件测试 32
5.1 白盒测试 32
5.1.1 爬虫系统测试结果 32
5.1.2 中文分词系统测试结果 33
5.1.3 中文文章相似度匹配系统测试结果 34
5.1.4 相似新闻趋势展示系统测试结果 36
5.2黑盒测试 37
5.2.1 爬虫系统测试结果 37
5.2.2 中文文章相似度匹配系统测试结果 37
5.2.3 相似新闻趋势展示系统测试结果 38
6 结 论 40
参考文献 42
致 谢 43
外文资料 44
中文翻译 48
2 系统需求分析
软件需求分析对软件系统提出了清楚、准确、全面而具体的要求,是对软件使用者意图不断进行揭示与准确判断的过程,它并不考虑系统的具体实现,而是严密地、完整地描述了软件系统应该做些什么的一种过程。
2.1 系统需求概述
要求爬虫系统能完成对凤凰网新闻、网易新闻、新浪新闻、搜狐新闻等网站新闻数据的实时抓取,并正确抽取出正文,获取新闻的点击量,实现每日定时抓取。能将抓取回来的新闻进行中文分词,利用中文分词结果来计算新闻相似度,将相似的新闻合并起来,同时也合并点击率,最后一点,能将相似因为一段事件内的用户点击趋势以合适的形式展现出来。
基于Java的网络爬虫实时新闻监测分析系统的设计与实现由以下几个模块构成:
网络爬虫模块。
中文分词模块。
中文相似度判定模块。
数据结构化存储模块。
数据可视化展示模块。
2.2 系统需求分析
2.2.1 系统功能要求
按照对系统需求调用的内容分析,系统功能划分为了一下五个模块:
数据采集模块:
数据采集模块负责数据采集,即热点网络新闻数据的定时采集,以及数据的初步拆分处理。
(1)中文分词模块:
中文分词模块能将数据采集模块采集到的热点网络新闻数据进行较为准确的中文分词。
(2)中文相似度判定模块:
中文相似度判定模块通过将数据采集模块采集到的热点网络新闻数据结合中文分词模块的分词结果,进行网络热点新闻的相似度分析,并能够将相似新闻进行数据合并。
(3)数据结构化存储模块:
数据结构化存储模块贯穿在其他模块之中,在数据采集模块中,负责存储采集拆分后的热点网络新闻数据;在中文分词模块中,负责从数据库读出需要分词处理的网络新闻数据;在中文相似度判定模块中,负责从将分析得到的相似新闻进行存储;在数据可视化展示模块中负责将相似热点新闻数据从数据库读出,其中涉及到大量关于数据库资源的处理。
(4)数据可视化展示模块:
数据可视化展示模块负责将中文相似度判定模块判定为相似新闻的数据以可视化的形式展示出来,展示形式可以自定义。
3 系统概要设计
系统概要设计的主要目的是能在此阶段将系统的主要功能逻辑设计和数据库系统的逻辑设计完全从需求分析中提取出来,在提取的过程中,不仅仅是奔着实现软件的功能而去,还得考虑上下文环境,例如系统最终的运行环境,系统以后可能增加的需求等等相关约束,在捋清楚系统约束之后在进行系统概要设计,这样软件系统之后的二次开发也不会太难。
3.1 设计约束
3.1.1 需求约束
系统能稳定运行在最低为JDK1.7的平台上。
数据库向后兼容,最低适配Mysql5.1。
要求程序有较好的跨平台性,可以同时运行在Linux、windows、Unix系统上。
要求数据库连接方面,设置的密码足够复杂,数据库连接管理良好,数据库系统能健壮运行。
禁止使用商业性软件,在本系统中使用的算法或是类库必须是免费的。
系统对系统配置的要求要尽可能低。
程序具有良好的可移植性、兼容性、安全性。
3.1.2 设计策略
为了本系统能适应未来的需求与发展,特制定如下策略:
系统具有良好的接口扩展功能,能非常容易地扩展新功能,并将可能会经常调整的部分单独提取出来作为一个模块;
系统代码具有非常良好的复用价值,新功能的添加能基于现有功能进行派生;
系统代码优化到位,很少出现或者完全不会出现内存泄露的问题,包括数据库连接池的泄露,独享资源使用未关闭句柄的问题等;
当优化问题与代码健壮性发生冲突时,则以保证代码健壮性为首要目标,可以适当调整优化。
3.1.3 技术实现
本系统设计与开发工具采用以下配置:
开发语言:java JDK版本1.7。
Java是一种具有非常棒的面向对象的设计思想的一门计算机语言语言。Java 技术具有很高的生产力,原因是大量的程序员为其贡献了大量的代码,目前Java程序广泛应用于Web、企业管理系统、云计算、大数据计算等方面,同时Java目前在全球的编程语言的稳居第一。
开发环境:Eclipse。
Eclipse 一开始是IBM旗下的一款开发工具,知道后来被IBM贡献给了开源社区,虽然开源,但是其功能一点也不逊于专业收费类型的开发IDE,Eclipse有着强大的开源活力,以及良好的扩展性,很容易在论坛上下载到各种各样为Eclipse量身定制的插件,所以开发本系统采用了Eclipse作为开发IDE。
3.3 模块结构
3.3.1 模块结构图
爬虫系统软件结构图:
向爬虫系统输入网页URL,爬虫打开网页解析处理抽出网页正文,然后输出网页正文,如图3-1所示。

图3-1 爬虫子系统结构图

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="com.netnews.reader.*" import="java.util.*"import="java.net.URLEncoder"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="css/style.css" />
<title>新闻排行榜</title>
</head><body style="color:#000"><div align="center"><table><%List<NodeList> nodeList = (new NetnewsReader()).getNodeList();for(NodeList nl: nodeList) {out.print("<tr>");out.print("<td><a href=NewsDetails.jsp?title=" + URLEncoder.encode(nl.title, "utf-8") + ">"+ nl.title + "</a></td>");out.print("<td>热度: " + nl.max_clickrate + "</td></tr>");}%></table></div>
</body>
</html>















基于网络爬虫的新闻实时监测分析可视化系统(Java+MySQL+Web+Eclipse)相关推荐

  1. 【毕业设计_课程设计】基于网络爬虫的新闻采集和订阅系统的设计与实现(源码+论文)

    文章目录 0 项目说明 1 项目说明 2 系统需求 3 系统架构 4 效果展示 5 论文目录 6 项目工程 0 项目说明 基于网络爬虫的新闻采集和订阅系统的设计与实现 提示:适合用于课程设计或毕业设计 ...

  2. python爬虫可视化web展示_基于Python爬虫的职位信息数据分析和可视化系统实现

    1. 引言 在这个新时代,人们根据现有的职位信息数据分析系统得到的职位信息越来越碎片化,面对收集到的大量的职位信息数据难以迅速地筛选出对自己最有帮助的职位信息,又或者筛选出信息后不能直观地看到数据的特 ...

  3. 【项目精选】基于网络爬虫技术的网络新闻分析(论文+源码+视频)

    基于网络爬虫技术的网络新闻分析主要用于网络数据爬取.本系统结构如下: (1)网络爬虫模块. (2)中文分词模块. (3)中3文相似度判定模块. (4)数据结构化存储模块. (5)数据可视化展示模块. ...

  4. 基于网络爬虫技术的网络新闻分析系统

    20002 基于网络爬虫技术的网络新闻分析系统 运行视频.代码等: 链接:https://pan.baidu.com/s/1tw4Qvtcuwt7ys36M7HvLSg 提取码:1589 复制这段内容 ...

  5. 新功能: 阿里云爬虫风险管理利器 - 实时日志分析 (一)

    背景 爬虫形势 Web安全形势一直不容乐观, 根据Globaldots的2018年机器人报告, 爬虫占据Web流量的42%左右. 为什么要反爬 防资源过度消耗 大量的机器人访问网站, 设想你的网站有4 ...

  6. 基于 Python 的全国空气质量监测与可视化分析平台

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 空气质量优劣程度与一个城市的综合竞争力密切相关,它直接影响到投资环境和居民健康,因此越来越受到政府和 ...

  7. 基于大数据的农产品价格信息监测分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从某蔬菜网采集所有农产品的价格数据,包括北京.上海.安徽.湖北等全国所有省和直 ...

  8. 基于网络爬虫的商品询价系统的设计与实现

    介绍 商品比价系统(基于网络爬虫) crawler:采用的是selenium框架(java实现),用它来爬虫,并将爬取的商品数据入库. display:是网页展示模块,你可以在该模块搜索需要比价的商品 ...

  9. 大数据主题分享第三期 | 基于ELK的亿级实时日志分析平台实践

    猫友会希望建立更多高质量垂直细分社群,本次是"大数据学习交流付费群"的第三期分享. "大数据学习交流付费群"由猫友会联合,斗鱼数据平台总监吴瑞诚,卷皮BI技术总 ...

最新文章

  1. 基于DoG的特征检测子(SIFT)_学习笔记
  2. linux 设备驱动程序开发 第3版_Chapter2_The Current Process
  3. jQuery——给元素添加父级的方法
  4. C#解析Markdown文档,实现替换图片链接操作
  5. linux下运行yolo,Ubuntu下CPU/GPU模式YOLOv3代码运行
  6. 还债速度果然快,罗永浩限高令已再度解除
  7. accept 阻塞_TCP网络编程中connect()、listen()和accept()三者之间的关系
  8. [当当网,你意欲何为]之二:无奈,配送之痛
  9. C++复习 auto
  10. linux安装Hive(Hive-2.3.7)
  11. 实现网站二维码扫描登录
  12. 航空公司系统是怎样炼成的
  13. GLFWError #65542 Happen, WGL: The driver does not appear to support OpenGL 问题解决
  14. 《深度学习之PyTorch物体检测实战》—读书笔记
  15. 达人评测i51235u和i51135g7哪个好
  16. 2019年最新的一波手机APP分享,每一个都是大家的菜哦!
  17. 海康视频插件启动过程中出现跨域问题has been blocked by CORS policy
  18. 水牛城大学本科的计算机专业,PGA学生系列访谈(三):毕业生访谈之我在水牛城的大学时光...
  19. 国际会计准则IFRS9的基本逻辑
  20. 数据挖掘实战(3)——时间序列预测ARIMA模型(附踩坑日志)

热门文章

  1. 九九乘法表c语言枚举法,小学枚举法教案
  2. dict后缀_基本数据类型(dict)
  3. Online Judge——1003. 二哥养细菌(c++)
  4. 移动通信:数字调制技术(BPSK, DPSK, QPSK, Π/4 QPSK,BFSK, MSK, GMSK, M-ary)学习笔记
  5. 服务器迁移的两种方式浅谈
  6. Object-C使用ICE
  7. 网页版outlook邮箱慢如蜗牛登不上,解决办法
  8. Python 实现语音文本互转
  9. 添加自签发的 SSL 证书为受信任的根证书
  10. 『实用教程』VSPD虚拟串口工具——从此告别硬件串口调试