基于requests+pyecharts+MySQL的疫情可视化BI大屏

在此向全国抗疫的各行各业人士致敬!

 什么是pyecharts?

pyecharts 是一个用于生成 Echarts 图表的类库。 

echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。

使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。

pyecharts0.5和1.0在用法上有较大差异,本项目用的是0.5版本

先安装所需的库

pip install pyecharts==0.5.11
pip install echarts-countries-pypkg
pip install pyecharts-snapshot
pip install bs4
pip install webbrowser
pip install selenium
pip install jieba
pip install requests

项目组成 

本项目由五个py文件组成,出问题时方便快速定位以及修改,最终效果如下:

 

1.国内疫情数据获取

国内疫情数据通过腾讯的实时疫情数据平台获取(https://xw.qq.com/act/qgfeiyan

 

不难找到他数据来源的json (https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5

 

 

从看似杂乱无章实则井然有序的数据中我们不难发现他的排列规律

 接下来就是获取数据并存入MySQL

import json
import pymysql
import requests


#与数据库连接
host = '127.0.0.1'
port = 3306
username = 'user'
password = 'password'
db = 'yq'
charset = 'utf8'
conn = pymysql.Connect(host=host,port=port,user=username,password=password,db=db,charset=charset)
cursor = conn.cursor()
sql="delete from 中国疫情"
try:
    cursor.execute(sql)
except:
    pass
# 疫情数据的url
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
response = requests.get(url)
# 发送get请求
result = json.loads(response.text)
#解析获取到的json数据
areaTree = json.loads(result['data'])['areaTree']
for i in areaTree[0]['children']:
    sheng_name = i['name']  # 省名
    confirm = i['total']['confirm']  # 总数
    confirm_add = i['today']['confirm']  # 今日增加数
    heal = i['total']['heal']  # 治愈
    dead = i['total']['dead']  # 死亡
    add = 'insert into 中国疫情(省 , 新增, 总数,治愈, 死亡)values ("%s","%s","%s","%s","%s")' % (sheng_name, confirm_add, confirm, heal, dead)
    cursor.execute(add)
    conn.commit()
print('爬取成功')

效果如下

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Drunkpoem

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值