采集流程

一. 明确需求

采集/确诊人数/新增人数


二. 代码流程 四大步骤

  1. 发送请求
  2. 获取数据 网页源代码
  3. 解析数据 筛选一些我想用的数据
  4. 保存数据 保存成表格
  5. 做数据可视化分析

开始代码

1. 发送请求

import requests     # 额外安装: 第三方模块url = 'https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_banner'
response = requests.get(url)

2. 获取数据 网页源代码

html_data = response.text
# print(response.text)


3. 解析数据
最烦的事情来了,就是提取里面的数据

str_data = re.findall('<script type="application\/json" id="captain-config">\{(.*)\}',html_data)[0]
print(re.findall( '"component":\[(.*)\],',str_data)[0])



用工具去解析一下,在caseList里面就是我们想要的数据了

json_str = re.findall('"component":\[(.*)\],', html_data)[0]     # 字符串
# 字典类型取值, 转类型
json_dict = eval(json_str)
caseList = json_dict['caseList']
for case in caseList:area = case['area']                                 # 城市curConfirm = case['curConfirm']                     # 当前确诊curConfirmRelative = case['curConfirmRelative']     # 新增人数confirmed = case['confirmed']                       # 累计确诊crued = case['crued']                               # 治愈人数died = case['died']                                 # 死亡人数

4. 保存数据

with open('data.csv', mode='a', newline='') as f:csv_writer = csv.writer(f)csv_writer.writerow([area, curConfirm, curConfirmRelative, confirmed, crued, died])

运行代码,得到数据

疫情数据可视化

完整源码+数据集
各地区确诊人数

china_map = (Map().add("现有确诊", [list(i) for i in zip(df['area'].values.tolist(),df['curConfirm'].values.tolist())], "china").set_global_opts(title_opts=opts.TitleOpts(title="各地区确诊人数"),visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),)
)
china_map.render_notebook()

新型冠状病毒全国疫情地图

cofirm, currentCofirm, cured, dead = [], [], [], []tab = Tab()_map = (Map(init_opts=opts.InitOpts(theme='dark', width='1000px')).add("累计确诊人数", [list(i) for i in zip(df['area'].values.tolist(),df['confirmed'].values.tolist())], "china", is_map_symbol_show=False,  is_roam=False).set_series_opts(label_opts=opts.LabelOpts(is_show=True)).set_global_opts(title_opts=opts.TitleOpts(title="新型冠状病毒全国疫情地图",),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=True, max_=1000,is_piecewise=False,range_color=['#FFFFE0', '#FFA07A', '#CD5C5C', '#8B0000']))
)
tab.add(_map, '累计确诊')_map = (Map(init_opts=opts.InitOpts(theme='dark', width='1000px')).add("当前确诊人数", [list(i) for i in zip(df['area'].values.tolist(),df['curConfirm'].values.tolist())], "china", is_map_symbol_show=False,  is_roam=False).set_series_opts(label_opts=opts.LabelOpts(is_show=True)).set_global_opts(title_opts=opts.TitleOpts(title="新型冠状病毒全国疫情地图",),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=True, max_=100,is_piecewise=False,range_color=['#FFFFE0', '#FFA07A', '#CD5C5C', '#8B0000']))
)
tab.add(_map, '当前确诊')_map = (Map(init_opts=opts.InitOpts(theme='dark', width='1000px')).add("治愈人数", [list(i) for i in zip(df['area'].values.tolist(),df['crued'].values.tolist())], "china", is_map_symbol_show=False,  is_roam=False).set_series_opts(label_opts=opts.LabelOpts(is_show=True)).set_global_opts(title_opts=opts.TitleOpts(title="新型冠状病毒全国疫情地图",),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=True, max_=1000,is_piecewise=False,range_color=['#FFFFE0', 'green']))
)
tab.add(_map, '治愈')_map = (Map(init_opts=opts.InitOpts(theme='dark', width='1000px')).add("死亡人数", [list(i) for i in zip(df['area'].values.tolist(),df['died'].values.tolist())], "china", is_map_symbol_show=False,  is_roam=False).set_series_opts(label_opts=opts.LabelOpts(is_show=True)).set_global_opts(title_opts=opts.TitleOpts(title="新型冠状病毒全国疫情地图",),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=True, max_=50,is_piecewise=False,range_color=['#FFFFE0', '#FFA07A', '#CD5C5C', '#8B0000']))
)
tab.add(_map, '死亡')tab.render_notebook()

各地区确诊人数与死亡人数情况

bar = (Bar().add_xaxis(list(df['area'].values)[:6]).add_yaxis("死亡", df['died'].values.tolist()[:6]).add_yaxis("治愈", df['crued'].values.tolist()[:6]).set_global_opts(title_opts=opts.TitleOpts(title="各地区确诊人数与死亡人数情况"),datazoom_opts=[opts.DataZoomOpts()],)
)
bar.render_notebook()


Python疫情数据分析+数据可视化展示相关推荐

  1. Python爬虫+数据分析+数据可视化(分析《雪中悍刀行》弹幕)

    Python爬虫+数据分析+数据可视化(分析<雪中悍刀行>弹幕) 哔哔一下 爬虫部分 代码部分 效果展示 数据可视化 代码展示 效果展示 视频讲解 福利环节 哔哔一下 雪中悍刀行兄弟们都看 ...

  2. python 爬虫及数据可视化展示

    python 爬虫及数据可视化展示 学了有关python爬虫及数据可视化的知识,想着做一些总结,加强自己的学习成果,也能给各位小伙伴一些小小的启发. 1.做任何事情都要明确自己的目的,想要做什么,打算 ...

  3. python疫情大数据可视化

    一.实验目的 通过本次实验掌握数据获取.数据清洗与存储和数据可视化工具的基本使用方法. 二. 实验平台 操作系统:window10 python版本:3.8 IDE:pycharm 可视化工具:ech ...

  4. python数据挖掘课程设计——基于数据挖掘的森林火灾预测分析(数据代码+数据分析+数据可视化展示)

    基于数据挖掘的森林火灾预测分析 [摘要]随着全球范围性的温室效应,全球气温正逐步升高,为对抗温室效应,森林已经成为我们急需保护的资源,但是火灾时刻威胁着森林资源.为了帮助对抗温室效应.保护森林,本研究 ...

  5. 大厂疯传!Python+商业数据分析+数据可视化教程(附项目案例)

    这是一个数据驱动一切的时代,从国家.企业.组织到个人,都在关注各种数据,并寄希望于从数据中获取到价值,因此数据分析就是这个时代的"淘金"! 也正是因为这样,数据分析人才成为了当下的 ...

  6. Python中的数据可视化工具与方法——常用的数据分析包numpy、pandas、statistics的理解实现和可视化工具matplotlib的使用

    Python中的数据可视化工具与方法 本文主要总结了: 1.本人在初学python时对常用的数据分析包numpy.pandas.statistics的学习理解以及简单的实例实现 2.可视化工具matp ...

  7. 使用python采集某二手房源数据并做数据可视化展示(含完整源代码)

    本次目的: python采集链家二手房源数据并做数据可视化展示 亮点: 系统分析网页性质 结构化的数据解析 csv数据保存 环境介绍: python 3.8 解释器 pycharm 专业版2021.2 ...

  8. Python数据分析-数据可视化(二)

    欢迎大家访问个人博客:https://jmxgodlz.xyz 文章目录 前言 Matplotlib 折线图格式调整 标签 线条颜色 线条形状 折点样式 线条透明度 前言 看到有些论文插图十分简洁美观 ...

  9. 数据可视化课程设计——北京新发地官网数据分析与可视化展示【内容在jupyter notebook里面展示】包含数据爬取与可视化分析详解

    目录 一.课题说明 1.1.设计原因: 1.2.设计目标: 1.3.开发环境: 1.4.爬取网站链接 二.准备工作 2.1.数据获取: 2.2.爬取的数据说明: 2.3.爬虫程序设计的思路: 三.详细 ...

最新文章

  1. HDU-1042 N! 大数乘法 (C语言)
  2. (转)PHP框架大比武
  3. JAVA SE学习day16:reflect
  4. 给你们讲讲我自己是怎么学习Linux系统的
  5. C/C++课程设计 ——货物管理系统
  6. python建模仿真 matlab_清华大学出版社-图书详情-《仿真建模与MATLAB实用教程》
  7. Python 中的json字符串以及使用
  8. SVN服务器搭建详解
  9. -------------计算机里面算法-----------
  10. 四个跑马灯的c语言程序,入门编程语言跑马灯,C语言设计跑马灯程序
  11. linux文件夹建立软连接,软连接 - Linux软连接创建及一个“坑”
  12. Fancy3D特效缺少
  13. 冬天吃柿子养颜防衰老
  14. SpringBoot+jdk1.8邮件发送
  15. 安卓Launcher 简介
  16. 在python中解压rar文件
  17. 如何向centos服务器传文件,【实用】如何快速实现Windows和CentOS文件互传
  18. 数据透视表知识点+案例
  19. dotnet 读 WPF 源代码笔记 WriteableBitmap 的渲染和更新是如何实现
  20. 美剧中50句经典俚语完美解析

热门文章

  1. win10计算机休眠快捷键,让win10电脑快速进入休眠快捷键是什么-
  2. 商务网站建设与维护【11】
  3. P1567 统计天数 python代码
  4. 深入浅出JS—20 生成器控制函数执行
  5. 面试官:消息队列 MQ/ JMS/ Kafka 有什么区别?
  6. 这些常见的漏洞和修复方法你知道吗?
  7. 大华 / 海康威视(HIKVISION) 网络视像头的连接及使用
  8. 数据库数据采集利器FlinkCDC
  9. python程序设计思维导图_程序设计 思维导图
  10. php开发证书转换工具,各类证件生成器