【python】爬取疫情数据并进行可视化

作者:神秘网友 发布时间:2020-09-27 07:12:50

【python】爬取疫情数据并进行可视化

【python】爬取疫情数据并进行可视化

【python】爬取疫情数据并进行可视化
数据来源:https://news.qq.com/zt2020/page/feiyan.htm#/?nojump=1
最终呈现:
【python】爬取疫情数据并进行可视化
【python】爬取疫情数据并进行可视化
视频资料:https://www.bilibili.com/video/BV1f54y127dd

'''
课题:爬取疫情数据 进行可视化
第一步:爬虫爬取疫情数据
第二步:实现数据的可视化
'''

import time
import json
import requests
import pandas as pd

url = r'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=&_=%d'%int(time.time()*1000)
html = requests.get(url)
html.json() #将json转化成dict形式
data = json.loads(html.json()['data'])
china_data = data['areaTree'][0]['children']
data_set = []

for i in china_data:
    data_dict = {}
    data_dict['province'] = i['name']
    data_dict['nowConfirm'] = i['total']['nowConfirm']
    data_dict['confirm'] = i['total']['confirm']
    data_dict['dead'] = i['total']['dead']
    data_dict['heal'] = i['total']['heal']
    data_dict['deadRate'] = i['total']['deadRate']
    data_dict['healRate'] = i['total']['healRate']

    data_set.append(data_dict)


df = pd.DataFrame(data_set)#生成dataframe数据 (类似表格数据)
df.to_csv('epidemic_data.csv') #保存到本地的csv数据

# 数据可视化 matplotlib pyecharts(好看)

from pyecharts import options as opts
from pyecharts.charts import Bar, Line, Pie, Grid, Map
df2 = df.sort_values(by = ['nowConfirm'], ascending=False)[:5]
print(df2)
#将dateframe转换成list
df2 = [list(i) for i in zip(df2['province'].values.tolist(), df2['nowConfirm'].values.tolist())]

#画饼图并保存html文件至当前目录
pie = (
    Pie()
    .add(
        "",
        df2,
        radius=["10%", "30%"]
    )
    .set_global_opts(
        legend_opts=opts.LegendOpts(orient="vertical", pos_top="70%", pos_left="70%"),
    )
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)

pie.render()#保存html文件至当前目录


china_map = (
    Map()
    .add("现有确诊", df2)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="各地区确诊人数", pos_top="48%", pos_left="65%"),
        visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),
        legend_opts=opts.LegendOpts(pos_left="90%", pos_top="60%")
    )
)
china_map.render('china_map.html')



【python】爬取疫情数据并进行可视化相关教程

  1. python3学习——基础2:数据类型

    python3学习——基础2:数据类型 基本数据类型 变量不需要声明 只有在赋值之后才能使用 (=) 多变量赋值 a =b =c =1a,b,c = 1,2,okok 标准数据类型 有六个标准类 *Number *string list *tuple set dictionary 前加 星号的是不可变数据 Number(数字) python

  2. python接口测试:使用接口对系统进行数据压力测试

    python接口测试:使用接口对系统进行数据压力测试 from excute import outbound_order as outorderfrom Tools import data_normalfrom Tools import report_tools#快速出库def newfast_outboundorder(outorder_num,itemnum_style): x=[] y=[] y0=[] y1=[] y2=

  3. 人脸检测 use Opencv and Python detection face

    人脸检测 use Opencv and Python detection face 为什么80%的码农都做不了架构师? # coding=utf-8import cv2import sysdef detectFace(Im): img = Im grayIm = cv2.cvtColor(Im, cv2.COLOR_BGR2GRAY) face_cascade = cv2.CascadeClassifier(haarcascades/haa

  4. Python登录验证小程序脚本

    Python登录验证小程序脚本 Python登录验证小程序脚本(只是简单的输入验证流程,无严格的字符输入过滤判定) 脚本程序流程图: 警告:使用此脚本前请先看清楚流程图:笔者的判断“输入次数3?”是对输入用户和密码都为非空后进行的判断,别不看清楚流程就瞎判定

  5. 用Python解决女朋友看电影没字幕的需求

    用Python解决女朋友看电影没字幕的需求 用Python解决女朋友看电影没字幕的需求 文章目录 用Python解决女朋友看电影没字幕的需求 一、故事情节 二、开发前的准备工作 三、开发过程详细介绍 (一)接口规范说明 (二)项目开发 1、界面部分的实现 2、处理音视频

  6. Python中*args和**kwargs的比较

    Python中*args和**kwargs的比较 1、*args的使用方法 当传入的参数个数未知,且不需要知道参数名称时, *args 用来将参数打包成tuple给函数体调用 实例: def function1(x, y, *args): print(x, y, args)function1(1, 2, 3, 4, 5)'''1 2 (3, 4, 5)'''def funct

  7. 【数据挖掘 22】4种异常检测方法Python实现

    【数据挖掘 22】4种异常检测方法Python实现 原文:LINK 作者: Jason Brownlee 文章目录 1. 数据集和基准性能 1.1 波士顿房价数据集 1.2 基准模型性能 2. 异常值检测 2.1 Isolation Forest 2.2 Minimum Covariance Determinant 2.3 Local Outlier Factor 2.4

  8. python rpyc的应用 ——聊天的功能(带认证)

    python rpyc的应用 ——聊天的功能(带认证) 为什么80%的码农都做不了架构师? rpc:远程过程调用,一个协议,实现的语言有很多。顾名思义,在A机器远程调用B机器里面的函数。rpyc:python的远程过程调用。 首先是安装,我的环境:centos6.5 cd /usr/local/s