【毕业设计】基于python 爬虫 flask的疫情数据可视化系统( 三 )


3.2
是一个基于Web的应用框架,由编写 。Web开发的基础是B/S架构,它通过前后端配合,将后台服务器的数据在浏览器上展现给前台用户的应用 。本身是基于MVC模型,即Model(模型)+View(视图)+ (控制器)设计模式,View模块和模块组成了它的视图部分,这种结构使动态的逻辑是剥离于静态页面处理的 。框架的Model层本质上是一套ORM系统,封装了大量的数据库操作API,开发人员不需要知道底层的数据库实现就可以对数据库进行增删改查等操作 。强大的设计能够实现非常复杂的数据库查询操作,且性能接近原生SQL语句 。支持包括、My Sql、、在内的多种数据库 。的路由层设计非常简洁,使得将控制层、模型层和页面模板独立开进行开发成为可能 。基于的Web系统工程结构示意图如图所示 。
从图中可以看到,一个完整的工程由数个分应用程序组成,每个分应用程序包括四个部分:
(1)urls路由层:决定Web系统路由结构,控制页面间的跳转和数据请求路径
(2)views视图层:业务层,主要进行逻辑操作和运算,是前端页面模板和后端数据库之间的桥梁 。框架提供了大量的数据库操作API,开发人员甚至不需要使用SQL语句即可完成大部分的数据库操作 。
(3)模型层:Web应用连接底层数据库的关键部分,封装了数据库表结构和实现 。开发人员可以在Model层按照的指令要求进行建表,无须使用SQL语句或者第三方建表工具进行建表 。建表的过程类似于定义变量和抽象编程语言中的类,非常方便 。
(4)模板层:HTML模板文件,后端数据会填充HTML模板,渲染之后返回给前端请求 。考虑到项目周期尽可能小,尽快完成平台的搭建,项目决定采用开源的框架开发整个系统的Web应用层 。
3.3
( )是百度开源的数据可视化工具,底层依赖轻量级库 。兼容了几乎全部常用浏览器的特点,使它可广泛用于PC客户端和手机客户端 。能辅助开发者整合用户数据,创新性的完成个性化设置可视化图表 。支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)等,通过导入 js 库在 Java Web 项目上运行 。
安装
pip install pyecharts
简单使用,实例:
from pyecharts.charts import Bar,Line from pyecharts import options as opts from pyecharts.globals import ThemeType line = ( Line(init_opts=opts.InitOpts(theme=ThemeType.LIGHT, width='1000px',height='300px' )) .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) .add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) .add_yaxis("商家B", [15, 6, 45, 20, 35, 66]) .set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"), datazoom_opts=opts.DataZoomOpts(is_show=True)) .set_series_opts(label_opts=opts.LabelOpts(is_show=True)) ) line.render('test.html') line.render_notebook()
各种属性方法
add() 主要方法,用于添加图表的数据和设置各种配置项
() 默认将会在根目录下生成一个 .html 的文件,文件用浏览器打开
图表配置:图形初始化,通用配置项
3.4 MySQL
简介
MySQL是一个关系型数据库,由瑞典MySQL AB公司开发,目前已经被收购 。
Mysql是一个真正的多用户、多线程的SQL数据库 。其使用的SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,每个关系型数据库都可以使用MySQL是以客户机/服务器结构实现的,也就是俗称的C/S结构,它由一个服务器守护程序和很多不同的客户程序和库组成 。
操作mysql数据库
本项目中我们需要使用来操作mysql数据库,因此需要用到这个库