摘要
时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,基金数据可视化平台当然不能排除在外。基金数据可视化平台是在实际应用和软件工程的开发原理之上,运用Python语言、爬虫技术、可视化大屏技术以及Django框架进行开发,可以让管理员通过数据爬取即可获得基金排行的数据,非常方便。在系统开发之前首先要进行需求分析,分析出基金数据可视化平台的主要功能,然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构和对系统安全性进行设计;最后要对系统进行测试,还要对测试的结果进行总结和分析,为以后系统的维护提供方便,也为以后类似系统的开发提供参考和帮助。这种个性化的网络系统管理更重视相互协调和管理合作,能激发管理者的创造性和主动性,这对基金数据可视化来说非常有益。
绪 论
1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。电子计算机在现代管理中的应用使电子,计算机变成了人类运用现代信息技术的主要工具。可以更高效的处理人类获取信息中精细化、全面化的问题,从而提高了效率[2]。基金数据可视化平台,是指使用具有万维网上所有特点和资源优势的超媒体的信息发布方式,来提供一个数据分析平台,在系统管理的过程受到了鼓励与帮助。而随着互联网的应用,互联网也以一种巨大变革力的新形象出现于关系领域。
1.2 国内外研究概况 在当前这个飞速发展的时代,无论是国内还是国外,发展都是突飞猛进的,经济形势也是一片明朗。在这种背景下,互联网的这一块的市场成为了各个国家想要争夺的香饽饽。于是无论是国内还是国外一些公司把目光投向了互联网这块市场,越来越多的人对互联网有所了解,具备了一些网络意识。在这种互联网大浪潮的不断冲刷下,各种各样的系统被开发出来。计算机技术在国内还是国外中应用普遍,使计算机这一新型工具成为人们耳熟能详、人尽皆知的新技术。计算机和互联网的广泛应用,让国内外的距离变“近”了,这个庞大的地球家园一下变成了地球村。国内国外的互联网发展也存在一些差距,我国近些年的互联网发展迅速,跻身于世界前列。 基于Python技术的基金数据可视化平台采用B/S架构、爬虫技术、可视化大屏技术、Django框架、MySQL数据库,使用Python技术开发。该系统的开发方式无论在国内还是国外都比较常见,而且开发完成后使用普遍,可以给用户和管理员提供大量的便利[3]。该系统在国内外前景较为良好。
1.3 课题的研究意义 大数据时代已经到来,大数据技术已成为这个时代不可或缺的一项技术,企业需要数据来分析用户行为、产品的不足之处以及竞争对手的信息等,而这一切的首要条件就是数据的采集。在互联网社会中,数据是无价之宝,一切皆为数据,谁拥有了大量有用的数据,谁就拥有了决策的主动权。本次使用Python技术加网络可视化大屏技术,可以实现管理员对基金排行数据的快速管理,对社会的发展来说,是一个非常有意义的创新。
相关技术
本基金数据可视化平台的数据库采用的是MySQL数据库,并且选择了Python语言、网络可视化大屏技术、Django框架进行开发项目,在项目开发过程中,实现了系统功能模块的安全性、实用性、稳定性、易维护和页面简单等特点。
2.1 Python简介 Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”[3]。 Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次基金数据可视化平台是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。
2.2 Django框架 Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点: (1)对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则: ①简单:以最基本的形式构建数据。 ②传达性:数据库结构被任何人都能理解的语言文档化。 ③精确性:基于数据模型创建正确标准化的结构。 用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。 (2)路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业的地址。
(3)模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。 (4)视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。 (5)后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。 Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。 (6)应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。 因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。
.3 可视化技术简介 可视化是一个认知的过程,目的在于对事物的洞悉观察,而不是绘制的可视化结果本身。数据显示是数据分析后发送结果和请求的过程,是一个报警过程。大数据分析结果之间的相关性更为复杂。传统的展示方式已经不能满足当今社会的需要。大数据的出现带来了更直观、更清晰的表现形式。可视化技术的参考是其中的一个重要部分。他的作用也体现在很多方面,揭示很多想法和对应关系,形成论点或者意见,观察事物的演变趋势,探索性的分析数据。 以对于中央电化教育馆教育信息技术研究2018年度立项课题清单的分析为例,进行需求分析以及可视化表达。首先要对清单内数据进行一系列处理,我们可以大概从课题内容分析、按学段进行分析、或者对同一地区课题方向进行分析。那么我将针对课题内容进行分析,目的为得到当前年度热门课题的关键词都有哪些,明确当下教育热点,以便为下一步教育的发展做铺垫。既然要从课题内容进行分析,那么第一步就是对整个清单内的数据进行处理,对课题进行一个分词处理,也就是对关键词进行提炼,有效关键词的获取是分析的最重要的基础,在这一部分,由于是教育方面的课题研究,因此我将引用专业领域词库,并设定一些停用词,在使关键词的划分更加准确的同时,能够减少关键词的数量,让提取出来的关键词在质量上得到保证。其次就是对关键词进行统计,最终以可视化图表的形式呈现出想要的结果。 从宏观的角度来讲,可视化的三大功能之一就是信息记录,将浩瀚烟云的信息记录成文,最有效的方法之一就是信息成像,因此,为了达到最终的分析目的,使杂乱无章的占比数据以一种更加直观、简明清晰的视图效果展现出来,对数据进行系统的分析之后,将最终结果进行可视化处理,便能够显而易见的看出当前的热点话题。
2.4 爬虫技术简介 网络爬虫是自动采集数据的有效手段。网络爬虫是一种按照一定的规则,自动抓取互联网海量信息的程序或脚本。网络爬虫的应用领域很广泛,如搜索引擎、数据采集、广告过滤、大数据分析等。 网络爬虫是一种很好的自动采集数据的通用手段。它主要分为4种类型,分别是:聚焦网络爬虫、增量抓取、表层网页、深层网页。 ①聚焦网络爬虫是“面向特定主题需求”的一种爬虫程序,而通用网络爬虫则是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分,主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 ②增量抓取意即针对某个站点的数据进行抓取,当网站的新增数据或者该站点的数据发生变化后,自动地抓取它新增的或者变化后的数据。 Web页面按存在方式可以分为表层网页(surface Web)和深层网页(deep Web,也称invisible Web pages或hidden Web)。 ③表层网页是指传统搜索引擎可以索引的页面,即以超链接可以到达的静态网页为主来构成的Web页面。 ④深层网页是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。
系统整体功能图
登录界面图
管理员功能界面图
基金排行管理界面图
看板界面图
看板界面图
用户功能界面图
部分数据库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jijindaima | varchar | 200 | 基金代码 | ||
jijinjiancheng | varchar | 200 | 基金简称 | ||
riqi | varchar | 200 | 日期 | ||
danweijingzhi | varchar | 200 | 单位净值 | ||
leijijingzhi | varchar | 200 | 累计净值 | ||
rizengzhanglv | varchar | 200 | 日增长率 | ||
yizhou | varchar | 200 | 近1周 | ||
yiyue | varchar | 200 | 近1月 | ||
sanyue | varchar | 200 | 近3月 | ||
liuyue | varchar | 200 | 近6月 | ||
yinian | varchar | 200 | 近1年 | ||
liangnian | varchar | 200 | 近2年 | ||
sannian | varchar | 200 | 近3年 | ||
jinnianlai | varchar | 200 | 今年来 | ||
chenglilai | varchar | 200 | 成立来 |
结论
本系统是采用Python语言、爬虫技术、可视化大屏技术、Django框架构建的一个操作管理系统,选择的数据库是MySQL。整个过程先是通过整体的系统分析,来确定本系统的可行性是否达标。为了满足管理员的需求以及提高工作效率,通过系统所要实现的功能分析,决定了管理员要实现的功能和用户功能。之后就是精细各个模块的具体功能,定义管理员和用户的权限,确定了管理员的功能和用户功能。之后通过系统测试来确保数据的准确性和操作的准确性,发现错误并立即做出了改正。 本系统使用了爬虫技术,通过爬虫技术,即可爬取基金排行数据,方便管理员进行浏览、查看数据。用户登录后可以浏览基金排行详情。 在本次项目设计中,完成了大大小小的模块,系统设计的调查,数据的分析,在安装软件方面,选择版本问题困扰了我很久,后来找相关的网站介绍,了解了各个版本的利与弊,最后完善了本次设计。基金数据可视化平台的系统设计选择了Python开发工具,和MySQL数据库对后台的数据交互进行分析保存,使用MySQL数据库可以是程序运行更加的安全且稳定,从而实现并完善系统的开发。