摘 要
随着信息的不断增加,相似度比较已经成为一个不可忽视的重要话题。近些年来,相似度计算算法的研究取得了巨大的进步,不仅可以有效地防止抄袭,而且可以更加准确地检索出相似的文档。因此,相似度比较的研究已经取得了显著的成果,值得我们继续努力。尽管已经有了一些尝试,但是目前还没有一种算法能够在效率和执行结果两个方面达到完美的平衡,使得用户感到非常满意。
在这篇论述中,我们将探讨如何通过数据分析来构建一份有效的新闻数据库系统,并将其转换为一份有效的图表。我们的目标是建立一份拥有多重功用的数据库系统,其中包含多个关键组成部分,如首页、概览、新闻中心、控制中心、数据中心、账户中心。我们将通过Python编程语言、MySQL数据库、Ajax技术来构建一份高效的数据库系统,以便更加有效地利用数据,并且更加灵活地运营这个数据库系统。通过利用Ajax异步模式、其他相关的开发工具,我们已经完成了一份全面的网站模板的构建,并且已经将其功能实施到位。在这篇文章中,我们深入探讨了这一课题的背景、目的、重点,并且从多个角度,详细阐述了该课题的优势、缺点、不足,最终,我们得出结论:该课程的重点在于提高网站的效率,提升网站的安全性,提升网站的流量,提高网站的稳定性。通过对新闻数据的深入研究,我们开发了一套能够将其转换为有效的图表的系统。
关键词:新闻数据分析与可视化系统;Python框架;MySQL数据库
News Data Analysis and Visualization Based on web crawler
Abstract
In this era of information explosion, similarity comparison has become a highly valued topic. Both plagiarism in comparative papers and retrieval of similar content documents require the support of this technology. In recent years, people have conducted in-depth research on similarity calculation algorithms, and on this basis, there has been significant development in the study of similarity comparison, while also achieving gratifying results. However, as of now, we have found that there is still no algorithm that can fully satisfy the two key indicators of algorithm efficiency and execution results.
The design and implementation of a news data analysis and visualization system studied in this article. The main functional modules of the website include homepage, overview, news center, control center, data center, account center, etc.Adopting the object-oriented development model for software development and hardware installation, the system's main modules have been fully designed and functionalized. This has enabled the software installation and programming work to be improved, with Python programming language being employed, MySQL database, Ajax asynchronous interaction, and Ajax asynchronous mode development tools all being utilized.An examination of the research's background, purpose, and importance serves as the basis for the rationality of the work, which is the initial focus of this report.After assessing the various needs and technical matters for the design and implementation of a news data analysis and visualization system, demonstrating its need and technical viability, and furnishing a rudimentary overview of the technical software and design concepts necessary for the design system, the system must be put into action. Finally, the system must be deployed and operated.
Keywords: News data analysis and visualization system; Python framework; MySQL database
目 录
第1章 绪论
1.1 研究背景与意义
随着科技的飞速进步,今天的英特网已成为一种前无古人的技术,它不仅改变了人们的日常工作,也改变了他们的思维模式。近年来,中国网民的数量迅猛攀升,在全球范围内居高不下,但网络的普及率仍然落后,其中网速及网络服务质量的不足更加凸显出来。经过深入研究,我们发现,除了硬件的限制,更多的原因在于大量的重复性信息。根据最近的统计,许多人在上网时,只会轻松地浏览几条相似的信息,然而,令人惊讶的是,每条信息都会出现数百条的相似链接。由于新闻的内容非常丰富,因此它们中的重复内容会消耗相当多的时间和精力。人们对信息的需求只是针对某一特定领域,于是这种对相似新闻的点击就造成了巨大的资源浪费。
1.2 国外研究现状及分析
自20世纪90年代末国外首次开发出有历史记录的网络爬虫以来,爬虫技术成为搜索引擎技术的核心要素之一,近30年来该技术日趋多样化,已成为大数据时代新发展突破的重要技术[2]。根据实现技术和系统构成可以分为三大类:批量型网络爬虫、增量型网络爬虫和垂直网络爬虫[3]。理论上,任何支持网络通信的语言都可以写爬虫,爬虫本身虽然与语言关系不大,但总体来讲还是相对简单易于理解的。
自从1969年美国的IBM公司开发出第一个DBMS系统IMS以来,数据库的研究和开发已经走过了三十多年的历程,经历了三代的演变(从层次型数据库系统到网络型数据库系统,再到现在成为数据库主流的关系型数据库系统)形成了数百亿美元的产业,数据库技术和系统已经成为世界各国信息基础设施的核心技术和重要基础。
以数据挖掘技术和数据库技术为基础的数据分析系统也迎来了时代的春天,各种各样的数据分析系统由不同的用户需求而开发。
MongoDB是世界领先的数据库软件。它基于NoSQL数据库,可用于存储比基于 RDBMS的数据库软件更多的数据。MongoDB是强大的,它是最好的大数据分析工具之一。
Microsoft Azure是领先的大数据分析工具之一。Microsoft Azure也称为Windows Azure。它是微软处理的公共云计算平台,是提供广泛服务的领先平台,包括计算、分析、存储和网络。
Apache Spark是最好和最强大的开源大数据分析工具之一。可以借助其数据处理框架处理大量数据集。通过结合或与其他分布式计算工具,在多台计算机上分布数据处理任务非常容易。
1.3 国内研究现状及分析
随着大数据在人类生活中的愈发重要,国内的大数据采集系统正处于高速发展的阶段,但在制造工艺以及技术水平上仍与世界发达国家存在着一定的差距。即使如此,也依然涌现出了许多优秀的大数据分析系统。
华为Fusion Insight,以海量数据处理引擎和实时数据处理引擎为核心,针对金融、运营商等数据密集型行业的运行维护、应用开发等需求,打造了敏捷、智慧、可信的平台软件[4]。
星环Transwarp,基于Hadoop生态系统的大数据平台公司,为企业提供Hadoop大数据引擎及数据库工具[5]。
阿里数加,阿里云发布的一站式大数据平台,覆盖了企业数仓、商业智能、机器学习、数据可视化等领域,可以提供数据采集、数据深度融合、计算和挖掘服务[6]。
1.4 研究方法
首先,我们通过搜索引擎和参考文献,深入了解了这个系统的背景和设计的意义。我们还收集了用户的需求信息。其次,我们使用Mysql数据库和Python的Django技术,设计出了这个系统的主要功能模块。为了满足用户和管理者的需求,我们将对系统进行全面的分析,以确定其应具备的功能。接着,我们将采用实际的用例,对系统进行测试,以发现存在的问题,并寻求有效的解决方案。为此,我们将借助现有的开发平台,结合我们所学的知识,在老师的指导下,完成这一设计,以确保系统的可用性和实用性。
1.5 本文的组织结构
第一章是绪论,在这一章中,我们将深入探讨本题目的研究背景,以及它所具有的重要意义。
本章将深入探讨如何利用先进的技术和工具来构建一个高效的新闻数据分析与可视化系统。
第三章将深入探讨系统的总体需求,从功能性的角度出发,对系统的可行性进行全面的分析,以确定其是否具备实际的功能。
第四章是一个关键的部分,它将深入探讨系统架构的设计,并且详细阐述一些关键的功能模块,以满足用户的需求。
第五章将深入探讨系统的各个组成部分,并详细阐述它们的实施细节。
第六章深入探讨了系统的性能,并通过测试和实践来验证其可靠性。
经过深入分析和反思,我们对未来的发展做出了全面而深刻的总结。
第2章 相关技术介绍
2.1 B/S体系结构介绍
B/S结构(Browser/Server,网页/服务器),作为WEB技术的重大突破,为客户端提供了更加灵活的架设,它把WEB网页作为其主要的操作工具,而且可以把网络系统的各项功能都整合在服务器设备上,大大减少了网络系统的设计、运行及操作的复杂性。客户机上只有设置一种网页,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器设备配置SQL Server、Oracle、MYSQL等数据库系统。Web Server与数据库系统之间的连接使得用户能够轻松访问和共享信息。
B/S模式下,用户可以从多台服务器发出请求,而这些服务器会根据用户的要求,自动生成处理结果,然后把这些处理后的信息反馈到webs erver,而不需要人为干预。随着技术的不断发展,这种框架结构和嵌套的浏览器技术,开始逐渐代替原有的软件开发方法,并在当今的市场中占有重要地位。
2.2 Python爬虫技术
爬虫是一种利用递归的方式来搜索和获取网络上的数据的技术。
网络是用来收集信息的,通常分为两类:传统的爬虫和聚焦的爬虫。
传统爬虫以一个或多个起始网页的URL为起点,不断搜索当前页面,并将其中的新URL加入队列,直至达到特定的停止条件。换句话说,它们可以通过源代码分析来获取所需的信息。
聚焦爬行的过程相当繁琐,首先,必须使用特殊的网页分析算法筛选掉不有关的内容,只保存对应的内容,把这些内容加入捕获的URL序列。随后,它会按照特定的搜索算法,在序列中筛选出最佳的捕获对象,不断地进行这些操作,最终满足系统的特定标准,才会终止。此外,我们的系统会收集任何被蜘蛛捕获的信息,经过精心的筛选、处理,形成完善的索引,方便用户的搜寻与检索。此外,我们的研究成果也为未来的蜘蛛捕获提供了重要的参考。
2.3 Django框架介绍
Django是一个由Python编程语言支持的开放式AP框架,其特点为.视觉、控制面板和WebAP。该框架由一个开放的社交网络提供,能够帮助程序员轻松、迅速地完成具有良好性能、容易管理和支持大规模AP的任务。OpenStack的Horizon组件以其独特的架构为基础,为Django提供了一个更加灵活的解决方案,它不仅拥有许多实用的第三方插件,而且拥有极高的可伸缩性,从而极大地提升了其应用的效率。 2005 ,一个基于互联网的 Web 网页上的Django 项目正式发布,并且是一个免费的开发环境。
Django已经成为web开发者的首选框架,是一个遵循 MVC 设计模式的框架。MVC是Model、View、Controller三个单词的简写,分别代表模型、视图、控制器。Django其实也是一个MTV 的设计模式。MTV是Model、Template、View三个单词的简写,分别代表模型、模版、视图。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。
2.4 MySQL数据库
MySQL 的技术发展历程可谓是一波又一波的迭代,从Mysql4版本一直发展至5版本,其功能的不断改良,为企业提供了极佳的服务。而且,最近推出的MySQLl不仅可以有效地压缩数据,而且可以提供高级的数据保护,以确保数据的安全。随着多次的系统升级,数据库的镜像功能发生了巨大的改善,操作的顺滑程度、可操作性以及操作的速率都提升了许多。其中,对于空间信息的展现,我们做出了重要的改善,以便于在应用程序中对坐标进行精确的定位与计算。Office的强大的备份功能为用户提供了极高的便利,它可以让您的操作变得轻松、快捷,而且它的Office特性可以让您轻松地完成任务。此外,为了提高效率,我们还为您提供了两个极其实用的显示区,一个是信息区,它将表格、文本等内容按照重要的顺序划分,让您的操作变得简单明快。第二部分是一种可以让操作者轻松查看和分析仪器的信息的控制器,它可以将各种数据以及相关的参数组合起来,从而极大地提高操作者的工作效率。
经过多次实验和分析,我们最终决定采用Mysql数据库来构建我们的在线考试系统。这是因为在企业的应用系统中,数据库的使用频率很高,并且数据的安全性也非常重要。经过多方考量,我们最终决定采用Mysql,它具有极高的安全性,可以有效地保护在线考试系统的后台数据。
数据库管理系统的总体结构图如下图所示。
图2-1 数据库组成结构
第3章 系统分析
3.1 可行性分析
3.1.1 技术可行性分析
“技术可行性”指的是一个系统的成熟程度,它包括预期的功能和实现的效率。它还包括系统的安全和稳健,以及后期的维修和更新。它还包括系统的运营效率和成本效益,以及系统的安全和稳健。经过全面的评估,我们发现采用Python作为基础,可以有效地构建出具有高度可靠的页面,并且采取了低耦合的设计方案,加上具有高度可扩展性的数据库,以及可靠的服务器,使得该系统的运行效果得到了显著的改善。显然,从技术角度来看,实现这一目标并非一件难事。
3.1.2 经济可行性分析
由于当前的技术趋势,我们选择了许多当前最新的、完全免费的开放式工具,这样一来,我们就能够有效地减少初期投入,从而避免因资金紧张而导致的后续投入,从而实现财务的节约。为了更好地满足客户的要求,我们应该努力节约成本,减少对人力和物力的投入。我们正朝着更加便捷和高效的方向发展。
3.1.3 操作可行性分析
这个系统的操作非常容易,无论是哪种类型的电脑,都可以轻松地安装和使用。它的特点是,它支持连接到互联网,而且无论是哪种类型的电脑,都可以轻松地访问它。此外,它的操作人员也无须拥有特殊的技术,只需熟悉相关的业务流程,根据自己的专业知识来正确地执行,因此,这个新闻数据分析和可视化系统是非常容易上手的。
3.2 功能需求分析
在开始系统开发之前,应该先进行全面的功能规划,明确管理系统的组成部分,每一部分的功能,以及它们是否能够满足用户的需求,然后对所开发的系统功能进行深入的分析和总结,最终构建出一个完整的系统,并将其付诸实施。通过与用户和开发人员的深入沟通与分析,我们可以更好地理解并实现系统的最优化。
用户用例图如下所示。
图3-1 用户用例图
管理员用例图如下所示。

图3-2 管理员用例图
根据用例图,对一些重要的用例进行描述。
注册用例描述如下表所示。
表3-1 注册用例描述

登录用例描述如下表所示。
表3-1 登录用例描述

个人信息管理用例描述如下表所示。
表3-1 个人信息管理用例描述

新闻用例描述如下表所示。

表3-1 新闻用例描述
3.3 系统流程分析
3.3.1 系统开发流程
新闻浏览系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-3所示:
图3-3系统开发流程图
3.3.2 用户登录流程
为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图3-4所示。
图3-4 登录流程图
3.3.3 系统操作流程
用户打开客户端并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图3-5所示。
图3-5 系统操作流程图
3.3.4 添加信息流程
管理员可以对用户信息、等进行信息的添加、删除、修改,用户也可以对自己权限内的信息进行添加删除、修改等等操作,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图3-6所示。
图3-6 添加信息流程图
3.3.5 修改信息流程
管理员可以对职位信息、新闻浏览等进行信息的修改,用户也可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图3-7所示。
图3-7 修改信息流程图
3.3.6 删除信息流程
管理员可以对职位信息管理、系统管理等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图3-8所示。
图3-8 删除信息流程图
3.4 非功能需求分析
系统的非功能需求包括但不限于性能、可容纳的最大用户数、稳定性、易用性等。在进行系统分析时,我们会特别注重用户体验,因为我们的系统旨在满足用户的需求,并且要让用户感觉易于理解和操作。
3.5 数据流程分析
一层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。
系统的一层数据流图如下图所示。
图3-2系统数据流图(一层)
二层数据流程将一层的登录注册流程进行了更深入的改造,将原本繁琐的填写流程简单地简化成了更多的操作,如:查看个人资料、查看历史记录、查看最新活动、查看最新新闻、查看最新社交媒体、查看最新新闻、查看最新社交网络动态、查看最新帖子。
系统的二层数据流图如下图所示。
图3-4系统数据流图(二层)
第4章 系统设计
4.1 系统架构设计
当前,B/S架构的系统提供了一种便捷的数据访问模式:只需点击一下网站,即可获取系统的信息,而且,该信息会被存储,并且会被及时地转交给服务器,从而实现快速、准确的信息交换。通过三层结构的设计,我们的新闻数据分析与可视化系统能够更好地满足用户的需求。首先,我们将从服务器上获取信息,然后将其呈现给用户。其次,我们将从模型层开始,对信息进行处理,包括业务逻辑、数据整合以及其他方面的工作。最后,我们将从两层结构的角度,对信息进行协同,以确保信息的准确性。
系统架构图如下图所示。
图4-1系统架构图
4.2 系统功能结构
通过对系统进行全面而深入的研究,我们最终制订了一套完善的系统,它涵盖了各种复杂的功能,从而使得开发者可以更加轻松地完成任务。在前期的需求调研、分析与综合考量基础上,我们最终制订了一套完善的系统,其中涵盖了:客户管理、网站公告、留言、变换图、新闻分类、新闻管理、以及新闻评论等。该系统由三个主要组成部分组成:一位是游客,二个是一般客户,三个是管理者。这三个人的权力都非常明确,游客只能访问不经过授权的内容;而普通用户则能够访问他们的个人主页,并且能够进行各种操作,包括查看、编辑、推送、跟踪当前的新闻、记录历史、存储个人资料。
系统功能结构图如下图所示。
图4-2系统功能结构图
4.3 操作流程分析
如下为系统的顶层数据流图,外部实体有用户和管理员,分别对系统输入数据,从而得到要输出的数据。
图3-4系统顶层数据流图
如下图所示为系统底层数据流图。
4.4 表单字段校验处理设计
1.出错信息类型
出错信息类型包括:
A 未输入必填项;
B 应该使用正确的字符和数字,而不是使用错误的字符和数字;
C 可以通过改变或删除空白数据表来实现任务;
D 向要求唯一值的关键字段添加重复值。
2.出错处理对策
如果出现错误A,系统将要求用户输入不为零的值。
如果出现错误B,系统会要求用户输入正确的汉字。
如果出现错误C,系统会提醒用户,该数据表已经没有记录可供更改。
系统要求用户在输入错误D时,必须避免输入重复的值。
4.5 系统维护设计
新闻数据分析与可视化系统是一种先进的、高度集成的综合信息系统,旨在满足用户的需求,通过提供丰富的信息,实现页面的最大化利用。然而,由于数据量庞大,因此,需要进行更加全面的维护,具体的维护设计如下:
(1)为了确保程序的可靠性和可用性,我们将其安装于云服务器和本地服务器,并利用SVN和FTP实现对其的定期升级和更新。
(2)功能增加:功能升级在必要的前提下。
(3)为了确保系统的安全,我们会定期为数据库提供人员备份服务。
4.6 数据库设计
4.6.1 概念模型
E-R图可以帮助开发者快速、准确地掌握新闻数据分析与可视化系统的各个组成部分,包括普通用户、管理员、新闻、待评论新闻、留言和评分,从而使他们能够更加轻松地理解这一系统的运行情况。
系统总体ER图如下图所示。

图4-4系统总体ER图
4.6.2 数据表
通过将E-R图以字段和数据类型的形式存储,可以将其特征转换为可视化的表格,从而形成一个完整的、有序的数据库表格。新闻数据分析与可视化系统的数据结构表格如下:。
auth_group_permissions | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
id | int | 11 | 是 | 主键 | 0 |
group_id | int | 11 | 是 | 0 | |
permission_id | int | 11 | 是 | 0 | |
auth_permission | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
id | int | 11 | 是 | 主键 | 0 |
name | varchar | 255 | 是 | 0 | |
content_type_id | int | 11 | 是 | 0 | |
codename | varchar | 100 | 是 | 0 | |
auth_user_groups | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
id | int | 11 | 是 | 主键 | 0 |
user_id | int | 11 | 是 | 0 | |
group_id | int | 11 | 是 | 0 | |
django_admin_log | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
id | int | 11 | 是 | 主键 | 0 |
action_time | datetime | 6 | 是 | 0 | |
object_id | longtext | 0 | 否 | 0 | |
object_repr | varchar | 200 | 是 | 0 | |
action_flag | smallint | 5 | 是 | 0 | |
change_message | longtext | 0 | 是 | 0 | |
content_type_id | int | 11 | 否 | 0 | |
user_id | int | 11 | 是 | 0 | |
django_migrations | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
id | int | 11 | 是 | 主键 | 0 |
app | varchar | 255 | 是 | 0 | |
name | varchar | 255 | 是 | 0 | |
applied | datetime | 6 | 是 | 0 | |
news_api_hotword | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
hotword | varchar | 255 | 是 | 主键 | 0 |
num | int | 11 | 是 | 0 | |
id | int | 11 | 是 | 主键 | 0 |
news_api_newssimilar | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
new_id_base | varchar | 64 | 是 | 主键 | 0 |
new_id_sim | varchar | 64 | 是 | 主键 | 0 |
new_correlation | double | 0 | 是 | 0 | |
news_api_spiderstate | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
spiderid | int | 11 | 是 | 主键 | 0 |
status | int | 11 | 是 | 0 | |
interval | varchar | 255 | 否 | 0 | |
news_api_urlcollect | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
url | varchar | 255 | 是 | 主键 | 0 |
handle | int | 11 | 是 | 0 | |
type | int | 11 | 是 | 0 | |
time | varchar | 30 | 否 | 0 | |
news_api_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
userid | int | 11 | 是 | 主键 | 0 |
username | varchar | 50 | 是 | 0 | |
gender | int | 11 | 否 | 0 | |
ip | varchar | 20 | 否 | 0 | |
password | varchar | 100 | 是 | 0 | |
tags | varchar | 5000 | 否 | 0 | |
tagsweight | varchar | 5000 | 否 | 0 | |
headPortrait | varchar | 1000 | 否 | 0 | |
region | varchar | 100 | 否 | 0 |
第5章 系统实现
5.1 登录模块的实现
当您完成注册并填写相应的信息时,您就能够从系统的登录窗口获得一个新的身份验证,从而获得更多的信息,并且能够轻松地从网站的任何一个角落跳转到更加安全的系统。
当用户提交了帐号或者密码之后,系统会检查这些信息是否符合要求。如果符合要求,它会通知login.jsp页面,并向该页面发出一个登录请求。如果不符合要求,它会使用src类的mainctrl类的dopost方法进行检查。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)请ACK您输入的账号和密码是否准确,并且它们都已经存储在数据库中。
2)通过数据库提取记录,将其存储在本地的session中,以便于每30分钟进行一次查询。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
图5-1登录流程图
5.2 用户子系统模块的实现
5.2.1 用户首页模块
系统以其简洁明了的首页为特色:界面精致而多样,让用户可以轻松掌握。为了满足广大用户的需求,我们还设计了一个高效稳定的后台。
如下图所示为系统的首页界面。

图5-2系统首页界面
5.2.2 注册模块
这个页面可以让普通用户轻松注册,只有完成注册登录,才能够使用系统的大部分功能,而且用户名不可以重复,否则将会导致注册失败,并且会弹出一个警告框,通过js来进行验证。
用户注册流程图如下所示。
图5-3用户注册流程图
5.2.3 新闻查询模块
新闻查询过程中,首先使用getmap(id,"xinxi"),通过新闻ID得到新闻数据,将新闻数据赋值给新闻查询列表,调用CommDAO的select方法将查询到的数据返回到查询集合中。
新闻查询流程图如下所示。
图5-4新闻查询流程图
新闻查询界面如图所示。

图5-5新闻查询界面
5.2.4 新闻评论模块
在新闻评论过程中,首先使用"xinxi"(ID)获取待评论新闻的ID,然后将这些id赋值给待评论的新闻,接着使用CommDAO的insert方法将这些id插入评论表,最后检查个人的历史待评论新闻记录,并将其销毁。
新闻评论流程图如下所示。
图5-6新闻评论流程图
新闻评论界面如图所示。

图5-7新闻评论界面
5.2.5 爬虫推荐模块
用户在首页可以进行查看新闻爬虫推荐和热词库表。当点击"为你推荐"的按钮时,可以看到为你推荐关于热词库的几个新闻。当点击"新闻信息"时,会显示不同平台的新闻信息,然后点击"返回"再返回到其主页面。
爬虫推荐界面如图所示。

图5-8爬虫推荐榜界面
热词库界面如图所示。
图5-9热词库界面
5.3 管理员子系统模块的实现
5.3.1 首页模块
通过输入http://localhost:8080/index.html 地址,您可以轻松访问管理员系统的首页,该首页由top、left、down和center四个部分组成,它们构成了用户进入系统的入口,用户可以通过@ include来实现。
首页载入流程图如下所示。
图5-10首页载入流程
首页载入流程:系统首先连接数据库,调整显示界面参数,从中提取出数据表,使用html格式创建显示模板,根据添加时间顺序排列数据,并以模板指定的位置显示出来,然后重新调整显示界面,最后断开数据库的连接。
首页如下图所示。

图5-11首页界面
5.3.2 新闻数据管理模块
在点击导航栏上的“新闻数据”后,会显示所有采集到的新闻数据,可以按照数据状态等进行查看、修改新闻信息。
新闻数据管理如下所示。
图5-12新闻数据管理界面图
新闻类别管理如下所示。

图5-13新闻类别管理界面图
阅读量管理如下所示。

图5-14阅读量管理界面图
评论量管理如下所示。

图5-15评论量管理界面图
热力图如下所示:

图5-16热力图界面图
第6章 系统测试
6.1 测试目的
经过精心设计和编码,我们将对新闻数据分析与可视化系统的程序进行严格的测试,以确保它的正确性,并不断地进行改进,以达到满足用户需求的目的,并实现预期的功能。
6.2 测试过程
在软件测试过程中,为了确保软件的可靠性和可用性,测试人员需要根据不同的功能模块,制定多种测试用例,以便及时发现代码和业务逻辑之间的差异,并采取必要的措施来改进系统,提升软件的质量,从而让用户获得更优质的体验。
注册测试用例表如下所示。
表6-1注册测试用例
测试性能 | 新用户注册 | ||
用例目的 | 测试系统新用户个人信息注册功能的功能和安全性 | ||
前提条件 | 进入注册页面填写个人信息 | ||
输入条件 | 预期输出 | 实际情况 | |
各项基本信息输入不完整 | 不允许注册,无法点击注册按钮 | 一致 | |
填写已存在的用户名 | 系统显示出提示信息,要求重新填写 | 一致 | |
两次密码输入不一致 | 系统显示出提示信息,要求重新填写 | 一致 | |
填写的各项信息没有符合提示的长度和字符要求 | 系统显示出提示信息,要求重新填写 | 一致 | |
胡乱填写电话号码 | 收不到验证码 | 一致 | |
填写验证码与收到的不一致 | 系统显示提示信息告知用户验证码错误,不予注册 | 一致 |
登录测试用例表如下所示。
表6-2登录测试用例
测试性能 | 用户或操作员登录系统 | ||
用例目的 | 测试用户或操作员登录系统时功能是否正常 | ||
前提条件 | 进入用户登录页面或操作员登录页面 | ||
输入条件 | 预期输出 | 实际情况 | |
各项信息不予填写,直接点击登陆按钮 | 不允许登录,提示填写账号相关信息 | 一致 | |
填写错误的登录名或密码后点击登录系统 | 提示用户名或密码错误,要求重新填写进行登录 | 一致 | |
填写与验证码信息不一致的信息 | 系统显示出提示信息,表明验证码错误,要求重新填写 | 一致 |
新闻评论测试用例表如下所示。
表6-3新闻评论测试用例
测试性能 | 用户进行新闻评论的操作 | ||
用例目的 | 测试用户进行新闻评论操作时,该功能是否正常 | ||
前提条件 | 用户进入新闻详情页,该新闻能够被评论 | ||
输入条件 | 预期输出 | 实际情况 | |
对着某新闻点击“评论”按钮 | 界面跳转至评论界面 | 一致 | |
在评论界面,输入必填项,点击“提交”按钮 | 提示“评论成功”,并返回上一级界面 | 一致 | |
在评论界面,填写评论表单的时候未输入完整,点击“提交”按钮 | 提示“评论失败” | 一致 |
新闻管理测试用例表如下所示。
表6-4新闻管理测试用例
测试性能 | 新闻相关信息管理功能 | ||
用例目的 | 测试系统操作者对新闻相关信息进行管理的功能是否正常 | ||
前提条件 | 登录系统进入相关管理页面 | ||
输入条件 | 预期输出 | 实际情况 | |
进入新闻管理界面,点击“录入”按钮,填写所有必填项,点击提交 | 提示“录入成功”,并返回查询界面 | 一致 | |
进入新闻管理界面,点击“录入”按钮,未填写一个或者多个必填项,点击提交 | 提示“录入失败”,请填写必填项 | 一致 | |
进入新闻管理界面,选择要修改的一条数据,点击该条数据后面的“修改”按钮 | 节目跳转至修改界面 | 一致 | |
在修改界面,修改可修改项后,点击“提交”按钮 | 提示“修改成功”,并返回查询界面 | 一致 | |
进入新闻管理界面,点击某条数据后面的删除按钮 | 提示“是否要删除该数据”,如果用户点击“确定”按钮,则成功删除该条数据,并提示“删除成功”,之后返回查询界面 | 一致 |
6.3 测试结果
通过我们的测试,我们发现这款系统不仅可以满足用户的基本需求,而且它的各种功能都可以让操作人员轻松地控制其它用户。然而,我们仍然发现它的许多功能仍然不够强大,因为它只能提供基本的服务,我们必须不断改进它,让它变成最优秀的。
第7章 总结与展望
经过一番努力,我成功地开发出了一个新的数据分析和可视化系统。这不仅巩固了我以前学习的知识,而且还将我平时所学的知识融入到了设计过程中。为了更好地完成这个系统,我进行了大量的准备工作。首先,我深入研究了数据库的工作原理和特点,并且选择了适合小型站点的服务器。其次,我运用我所学的知识进行了分析,并在此基础上进行了设计。
目前,我们的新系统已经开始测试,并且得到了广泛的支持。我们的客户反应非常满意,并且能够满足他们的要求。尽管我们的测试期间遇到一些困难,但我们会尽快解决这些问题。此外,我们还会定期检查我们的系统,确保它能够稳定地工作。我们的数据都会被存储在我们自己的云端服务器里,并且我们会定期更新这些信息。
本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。
在未来的升级过程中,我们将会努力解决用户提出的各种挑战,比如:如何确保浏览器的兼容性,如何在大量用户访问时,保证系统的快速响应,以及如何确保系统的安全性。
参考文献
[1]王健,刘惠子.基于开源项目的Python程序设计课程混合式教学模式设计[J].软件导刊,2023,22(02):166-171.
[2]任夏荔.基于Python+PyEcharts的数据可视化应用[J].山西电子技术,2023(01):83-86.
[3]Ramos-Carreño Carlos,Torrecilla José L.. dcor: Distance correlation and energy statistics in Python[J]. SoftwareX,2023,22.
[4]杨健,陈伟.基于Python的三种网络爬虫技术研究[J].软件工程,2023,26(02):24-27+19.DOI:10.19644/j.cnki.issn2096-1472.2023.002.005.
[5]Matthew Tyson. Error tracking with Sentry, Python, and Django[J]. InfoWorld.com,2022.
[6]付文杰.基于Python的大数据网购新闻异常价格与销量识别[J].网络安全和信息化,2022(10):72-76.
[7]华厚强,康佳春.基于Python的校园交易平台设计[J].现代计算机,2022,28(15):105-111.
[8]林军.基于Python的网页信息数据爬取设计与实现分析[J].长春工程学院学报(自然科学版),2022,23(02):108-112.
[9]卢琦. 广西“政采云”网上超市新闻价格监测体系优化研究[D].广西财经学院,2022.DOI:10.27956/d.cnki.ggxcj.2022.000096.
[10]Sufyan bin Uzayr. Mastering Django:A Beginner's Guide[M].CRC Press:2022-05-15.
[11]平奥琦. 安卓端跨平台新闻多维度评论系统[D].长安大学,2022.DOI:10.26976/d.cnki.gchau.2022.000932.
[12]邹乐,王丽丽,褚甜甜.基于微信小程序的大数据杀熟评论系统的设计与实现[J].电脑知识与技术,2021,17(36):57-60.DOI:10.14004/j.cnki.ckt.2021.3565.
[13]孟宪颖,毛应爽.基于Python爬虫技术的新闻信息采集与分析[J].软件,2021,42(11):128-130.
[14]高雅婷,刘雅举.基于Python的网上购物数据爬取[J].现代信息科技,2021,5(16):26-31.DOI:10.19850/j.cnki.2096-4706.2021.16.007.
[15]骆魁永.一种基于Python的新闻信息采集方法[J].无线互联科技,2021,18(15):72-73.
[16]Fabbiani Emanuele,Marziali Andrea,De Nicolao Giuseppe. vanilla-option-pricing: Pricing and market calibration for options on energy commodities[J]. Software Impacts,2020,6.
[17]葛妍娇,周迪,朱竹芳,王伟,汪荣辉,余欢.基于.NET框架的制造企业询评论系统研究与实现[J].电脑知识与技术,2020,16(16):82-85.DOI:10.14004/j.cnki.ckt.2020.1977.
[18]李刚柱. 基于Android移动端的优惠券评论系统设计与实现[D].长安大学,2020.DOI:10.26976/d.cnki.gchau.2020.001623.
[19]闫雪亚,嵇扬,罗华婷,陶兰心,黄岗.新零售背景下的新闻价格差异研究——基于品牌产品线上评论的调研分析[J].品牌研究,2020(03):82-85.DOI:10.19373/j.cnki.14-1384/f.2020.03.032.
[20]崔巍.基于评论系统和优惠信息汇总的APP设计与开发[J].知识经济,2019(07):53-54+57.DOI:10.15880/j.cnki.zsjj.2019.07.031.
致 谢
伴随着设计的完成,大学生涯也随之即将结束。在大学里,我度过的日子真的太宝贵了。通过这段旅途,我不仅学到了许多知识,还得到了许多经历。所以,对于那些曾经与我共度的人,我深表感恩。。
对此,我深表敬意。这要归功于我的指导教练。他们为我的毕业设计提供了许多宝贵的帮助和宝贵的意见,并且他们认真负责地对待每项任务,使得最终的结果都得以圆满实现。。
最终,我要向所有在大学里指导我的老师表示感激,因为他们让我拥有了丰富的知识,也让我学会了如何面对和解决各种挑战。谢谢你们的帮助与支持。