使用Python获取最新疫情数据,制作可视化动态地图,实时展示各地情况
愿世界再无病痛,盼疫情早日结束
- 序言
- 效果展示
- 准备工作
- 代码展示
序言
疫情降临转眼已经第三年了,时间过得真快,愿疫情早点结束,世界不再多灾多难。
最近疫情稍微好转一些了,所以咱们获取一下最新的疫情数据,做个可视化地图看看。
效果展示
获取到的数据咱们保存到表格
可视化地图
颜色是跟网上的一样,可以跟随鼠标移动变色,展示数据的。
还可以实现这种更好看的
以及柱状图
还等什么,我们直接开始把~
准备工作
涉及知识点
- 爬虫基本流程
- requests 发送请求
- re 正则表达式
- json 结构化数据解析
- pyecharts 可视化
开发环境
python 3.8: 解释器
pycharm: 代码编辑器
实现流程
- 发送请求
- 获取数据
- 解析数据
- 保存数据
- 可视化分析
前四步的话,基本大部分*虫都是如此。
具体操作,我就不详细写了,这个视频第56集有详细讲,前面几集也有基本思路,可以说很全面。
代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!
每次都写流程,有人看还好,没人看的话,或者看了又没人点赞收藏,就渐渐的没动力了。
索性直接用视频讲解放在那里,嘿嘿~
不过不要慌,代码里我都写了注释的。
代码展示
又到了紧张刺激的环节了
1、获取数据部分
import requests # 发送请求 第三方模块 额外安装吧
import re # 内置模块 无需安装
import json
import csv# 伪装 字典
headers = {# 浏览器基本信息'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36'
}
with open('data.csv', mode='a', encoding='utf-8', newline='') as f:csv_writer = csv.writer(f)csv_writer.writerow(['area', 'curConfirm', 'curConfirmRelative', 'confirmed', 'crued', 'died'])
url = 'https://voice.这里加上我国网民最常用的那个网站地址/act/newpneumonia/newpneumonia/?from=osari_aladin_banner'
# 1. 发送请求
# x=1,y=2
response = requests.get(url=url, headers=headers)
# 2. 获取数据
# <Response [200]>: 访问成功
html_data = response.text
# print(html_data)
# 3. 解析数据 正则
# a. 告诉他 我们要怎么查找 "component":\[(.*?)\]
# b. 我们在哪里查找
# 正则会把所有能匹配到的数据都会给到我们
# (.*?)
# .*匹配任意字符 0次或者多次
# ? 非贪婪匹配符
json_str = re.findall('"component":\[(.*)\],', html_data)[0]
# 类型 转化一下 字典
json_dict = json.loads(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'] # 死亡人数print(area, curConfirm, curConfirmRelative, confirmed, crued, died)with open('data.csv', mode='a', encoding='utf-8', newline='') as f:csv_writer = csv.writer(f)csv_writer.writerow([area, curConfirm, curConfirmRelative, confirmed, crued, died])
2、可视化部分
import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as optsdf = pd.read_csv('data.csv', encoding='utf-8')
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_inverse=True))
)
china_map.render('demo.html')
这里只有第一种可视化效果,其它的都是ipynb 格式的,我懒得打开了~
下方扫一下领取吧
使用Python获取最新疫情数据,制作可视化动态地图,实时展示各地情况相关推荐
- Python获取中国疫情数据(最新版)
获取疫情数据的脚本是2020年就写了,网上有多个地方可以获取: 比如百度有: 实时更新:新型冠状病毒肺炎疫情地图 腾讯有:实时更新:新冠肺炎疫情最新动态 因为一开始写的时候,觉得比较简单,所以一直没有 ...
- Python爬虫爬取疫情数据并可视化展示
这篇文章主要介绍了Python利用爬虫爬取疫情数据并进行可视化的展示,文中的示例代码讲解清晰,对工作或学习有一定的价值,需要的朋友可以参考一下.编程资料点击领取 目录 知识点 开发环境 爬虫完整代码 ...
- Python获取2019-nCoV疫情实时追踪数据
戳蓝字"CSDN云计算"关注我们哦! 来源 | 三行科创 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 2019-nCoV新型冠状病毒引发的肺炎牵动全 ...
- 毕业设计-基于Python爬虫的疫情数据可视化系统
基于Python爬虫的疫情数据可视化系统 采用ECharts+Flask+Requests架构: 源码加3105088663
- Python数据分析挖掘案例:Python爬虫助力疫情数据追踪
通过学习Python数据分析挖掘案例,可以掌握通过Python爬虫获取的数据进行处理以及可视化分析的主要方法和技能,并为后续相关课程学习及将来从事数据分析工作奠定基础. 新冠病毒疫情在武汉突然爆发,确 ...
- Python爬取天气数据及可视化分析!
来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...
- python 行情数据,拼多多股票:Python获取股票行情数据的一种方法
Python获取股票行情数据的一种方法 拼多多股票 本号帮大家找了一个可免费获取股票行情数据的接口. Tushare社区目前主要维护新版本:tushare pro,数据更稳定拼多多股票质量更高,可获取 ...
- Python爬取天气数据及可视化分析
Python爬取天气数据及可视化分析 文章目录 Python爬取天气数据及可视化分析 说在前面 1.数据获取 请求网站链接 提取有用信息 保存csv文件 2.可视化分析 当天温度变化曲线图 当天相对湿 ...
- python爬取疫情数据并存入excel中(包括国内各省份,全球,国内外历史疫情数据)代码可以直接运行
流程 1.进入获取疫情的url 例如: 腾讯新闻的疫情网站 https://news.qq.com/zt2020/page/feiyan.htm#/ 网易新闻:https://wp.m.163.com ...
最新文章
- Java中Date各种相关用法
- sql server left join 重复数据原因图
- mysql xa 和普通事务_一文看懂MySQL中基于XA实现的分布式事务
- 除了中国,原来还有这么多国家采用十二生肖的啊~| 今日最佳
- java反射 pdf_java反射学习笔记整理.pdf
- LeetCode 298. 二叉树最长连续序列(自顶向下)
- Go的闭包看你犯错,Rust却默默帮你排坑
- sensenet的编译调试
- 西门子 Process Simulate学习笔记(一)
- smarty 执行php,smarty模板执行原理
- 顺丰标准 150标准丰密面单 Clodop 实现打印
- 个人笔记-Minecraft阿里云服务器搭建
- python爬虫论文总结与展望怎么写_论文总结与展望怎么写
- BIOS修改mbr为gpt的步骤
- 启用计算机上的无线,如何使用命令提示符打开或关闭计算机上的wifi
- 计算机安全相关知识,计算机安全知识
- 机器人工程就业面如何前景是否广阔
- mysql 持有锁 等待锁_MySQL找出锁等待
- 背包系统 装备系统和锻造系统 - 基于Unity2018 UGUI
- Win11 右键风格改为 Win10风格