Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(四)数据屏幕
今天介绍给大家的是:如果使用 Python 制作数据屏幕,将从最基础的开始,如果熟悉 django 和 Python 的朋友可直接跳过
项目功能设计:
- 定时爬取疫情数据存入Mysql(爬虫篇)
- 进行数据分析制作疫情报告(统计篇)
- 使用itchat给亲人朋友发送分析报告(发送篇)
- 基于Django做数据屏幕(本文)
一、项目效果展示
二、项目环境介绍
- 如下是项目需要使用的第三方模块,例如: pip install 模块名==版本号 -i http://pypi.douban.com/simple/
Python 3.7.3
Django 1.11.1
PyMySQL 0.9.3
redis 3.3.11
jinja2 2.10.3
pandas 0.25.3
requests 2.22.0
- 如下是项目需要用到的数据库
Mysql-Server 5.7.28 : 数据表:epidemic_data
redis-server 5.0.7 : 默认使用 1 号数据库
- IDE PyCharm
感兴趣的朋友现在就可以打开自己 IDE 按照上面的环境表,配置好环境,然后和我一起用 Django 做数据屏幕,只要跟着我到步骤即使不熟悉django 只要认真按照步骤来写也可以完成数据屏幕的项目
三、实战:配置Django MVT
MVT 是 Django 的开发模式 M :代表数据库模型 V :代表视图 T :代表模板
准备前端配置文件:项目前端页面是我修改了 echarts 里面到代码添加了 ajax 请求,如果需要可以通过 积分下载,如果没有积分也可以留言向博主索取
准备配置文件:如下是本项目需要到配置文件
创建 django 项目
- 配置好环境后打开 命令行窗口 创建一个项目文件夹并 cd 到里面,然后输入:
django-admin startproject ScreenData
运行后如果没有报错,就会在你到项目文件夹中创建了一个 django 项目
如果完成这一步,恭喜你!成功创建一个 django 项目
- 创建工作文件夹:
右键使用 Pycharm 创建三个文件夹:apps 和 static templates 两个文件夹:- apps:存放 app 文件
- static:存放静态资源
- templates:存放项目页面
如果你也完成了,那么进行下一步吧!将数据屏幕配套资源添加到文件夹里,静态文件存放到static,前端页面文件存放在 templates
将文件放完以后我们该配置 setting 文件了
- 配置 setting 文件
setting 文件存放在 django ScreenData 的文件夹里
- 修改 Django 默认使用的数据库:默认使用的是 sqlite3
- 找到 DATABASES 配置选项
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}
}
上面是 django 默认的数据库配置,删除掉这段配置,将下面的代码粘贴到的原来的位置
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 数据库引擎'HOST': '127.0.0.1', # 数据库主机ip'PORT': 3306, # 数据库端口'USER': 'root', # 数据库用户名'PASSWORD': '112233', # 数据库用户密码 记得修改'NAME': 'epidemic_data' # 使用数据库名字},
}
记得打开你的 MySQL 服务器,创建一个 epidemic_data 数据库,修改上面的配置(密码)
- 配置 数据库 init.py 找到 inti.py 打开后粘贴如下的代码:
import pymysqlpymysql.install_as_MySQLdb()
PyMySQL 是 python 链接操作 MySQL 数据库的模块
- 配置 jinja2 模版引擎:到 setting 找到 TEMPLATES 配置选项
使用如下代码替换掉上面这段代码 jinja2 官方讲:他们的模版渲染速度是 django 自带的引擎的好几倍,我们就使用他们的 jinja2 试试看,所以需要配置一下:
TEMPLATES = [{'BACKEND': 'django.template.backends.jinja2.Jinja2', # jinja2模板引擎'DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],# 补充Jinja2模板引擎环境'environment': 'utils.jinja2_env.jinja2_environment',},},
]
创建一个叫 utils 的 python package:
然后在 utils 里面创建一个 jinja2_env.py :
然后将如下的代码复制到 jiaja2_env.py 完成配置:
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from jinja2 import Environmentdef jinja2_environment(**options):env = Environment(**options)env.globals.update({'static': staticfiles_storage.url,'url': reverse,})return env
- 配置 static 让 django 知道你的静态文件的位置:setting 中添加如下代码
# 配置静态文件加载路径
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
项目功能设计: 定时爬取疫情数据存入Mysql (已完成) 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 ... 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终的效果 目前已经完 ... 好久不见!今天我们继续python的话题啦.python现在势头凶得很,没事刷抖音.刷朋友圈.看公众号,弹出的广告总少不了python."python带你发家致富,财富自由!"广告 ... 拼多多是中国领先的社交电商平台之一,是一家以"团购+折扣"为主要运营模式的电商平台.该平台上有海量的商品,对于商家和消费者来说都具有非常大的价值,因此,拼多多商品数据的采集技术非常 ... 转载请注明来源, 原文链接 : 讲真的, 手机看漫画翻页总是会手残碰到页面上的广告好吧, 再碰上站点的带宽还很低, 无疑是雪上加霜, 要是指定漫画的主页URL就能给我返回整本漫画的所有图片并且整理好存 ... 日期:2020.01.29 博客期:137 星期三 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] c.[拓扑数据](本期博客) d.[数 ... 资源下载地址:https://download.csdn.net/download/sheziqiong/85672637 资源下载地址:https://download.csdn.net/downl ... 关于爬虫方面本人小白一个,通过无所不能的度娘,从中汲取营养,得到一个简单的能用的例子,在这分享一下,供大家一起汲取. 首先说一下,你想从一个页面中获取到你想要的数据,首先你要先得到这个页面.然后把获取 ... 阅读本文大概需要 3 分钟. 最近两天工作之余,开始涉猎python,自动爬取了全国30+城市地铁图数据,这里分享下整个爬虫过程 1. 数据来源 首先分析全国各个城市地铁图的数据来源,无非就是百度或者 ...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(四)数据屏幕相关推荐
最新文章
热门文章