爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

近日,各地疫情又出现严重反复的现象,目前新增新冠疫情仍处于多点散发、局部聚集的态势,面对这样的情况,疫情防控还要这样做!

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

我们再从数据方面分析一下来看看全国疫情情况。获取的数据如下:地区、死亡人数、确诊人数、新增人数、治愈人数、当前确诊人数等绘制疫情可视化地图

网站分析

我们今天要爬取的网站是百度,这个网站每日实时更新最新疫情数据。如下:

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

我们右键检查如下获取数据来源网址

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

在response中我们可以看到我们要获取的数据就在其中。

所有接下来我们就是如何提取出我们所需的数据

我们将这些数据复制到pycharm中打开如下,因为数据量太大这样看起来还是比较直观的。

因为我们所需的数据都在caseList列表中,我们可以循环提取每个城市的数据。所以我们先要获取到它的外层数据component。

这里我们选择使用正则来进行数据的提取

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

发送请求

我们使用刚才找到的链接来模拟浏览器发送请求

url = 'https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_banner'
headers = {
    'user-agent': 'xxxxx',
    'referer': xxxxx',
    'cookie': 'xxxxx',
}
html_data = requests.get(url).text
print(html_data)

获取到的是就是整个html网页数据

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

接下来使用正则来进行数据的提取并转为列表格式

并且将获取到的数据转为json格式用已提取我们所需的数据

html_data = requests.get(url).text
# 返回列表
component = re.findall('"component":\[(.*)\],', html_data)[0]

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

然后提取我们所需要的数据,并且我们使用prettytable来美化数据。

tb = pt.PrettyTable()
tb.field_names = ['地区', '时间', '新增人数', '现有确诊人数', '累计确诊', '治愈人数', '死亡人数']

for case in caselist:
    area = case['area']         # 地区
    relativeTime = int(case['relativeTime'])     # 时间
    content_time = time.strftime('%Y-%m-%d %H:%M', time.localtime(relativeTime))
    nativeRelative = case['confirmedRelative']  # 新增人数
    curConfirm = case['curConfirm']  # 现有确诊人数
    confirmed = case['confirmed']  # 累计确诊
    crued = case['crued']  # 治愈人数
    died = case['died']         # 死亡人数
    tb.add_row([area, content_time, nativeRelative, curConfirm, confirmed, crued, died])
print(tb)
'''
+--------+------------------+----------+--------------+----------+----------+----------+
|  地区  |       时间       | 新增人数 | 现有确诊人数 | 累计确诊 | 治愈人数 | 死亡人数 |
+--------+------------------+----------+--------------+----------+----------+----------+
|  西藏  | 2022-03-14 00:00 |    0     |      0       |    1     |    1     |    0     |
|  澳门  | 2022-03-14 00:00 |    0     |      3       |    82    |    79    |    0     |
|  青海  | 2022-03-14 00:00 |    0     |      2       |    32    |    30    |    0     |
|  台湾  | 2022-03-14 00:00 |   114    |     6807     |  21402   |  13742   |   853    |
|  香港  | 2022-03-14 00:00 |   7500   |    234001    |  266887  |  28318   |   4568   |
|  贵州  | 2022-03-15 00:00 |    2     |      6       |   168    |   160    |    2     |
|  吉林  | 2022-03-15 00:00 |   938    |     7001     |   7593   |   589    |    3     |
|  新疆  | 2022-03-15 00:00 |    0     |      0       |   996    |   993    |    3     |
|  宁夏  | 2022-03-14 00:00 |    0     |      0       |   122    |   122    |    0     |
| 内蒙古 | 2022-03-14 00:00 |    0     |      45      |   1666   |   1620   |    1     |
|  甘肃  | 2022-03-14 00:00 |    7     |     190      |   560    |   368    |    2     |
|  天津  | 2022-03-15 00:00 |    53    |     269      |   1425   |   1153   |    3     |
|  山西  | 2022-03-15 00:00 |    0     |      23      |   295    |   272    |    0     |
|  辽宁  | 2022-03-15 00:00 |    34    |     172      |   1120   |   946    |    2     |
| 黑龙江 | 2022-03-15 00:00 |    15    |      61      |   2143   |   2069   |    13    |
|  海南  | 2022-03-14 00:00 |    0     |      3       |   193    |   184    |    6     |
|  河北  | 2022-03-15 00:00 |    38    |     233      |   1709   |   1469   |    7     |
|  陕西  | 2022-03-14 00:00 |    53    |     245      |   3071   |   2823   |    3     |
|  云南  | 2022-03-15 00:00 |    7     |     100      |   2020   |   1918   |    2     |
|  广西  | 2022-03-15 00:00 |    29    |     320      |   1321   |   999    |    2     |
|  福建  | 2022-03-14 00:00 |    88    |     174      |   1692   |   1517   |    1     |
|  上海  | 2022-03-15 00:00 |    15    |     653      |   4854   |   4194   |    7     |
|  北京  | 2022-03-15 00:00 |    12    |     191      |   1663   |   1463   |    9     |
|  江苏  | 2022-03-14 00:00 |    22    |     187      |   1949   |   1762   |    0     |
|  四川  | 2022-03-15 00:00 |    9     |     150      |   1581   |   1428   |    3     |
|  山东  | 2022-03-15 00:00 |    86    |     1110     |   2234   |   1117   |    7     |
|  江西  | 2022-03-14 00:00 |    0     |      0       |   959    |   958    |    1     |
|  重庆  | 2022-03-15 00:00 |    11    |      49      |   663    |   608    |    6     |
|  安徽  | 2022-03-15 00:00 |    2     |      11      |   1020   |   1003   |    6     |
|  湖南  | 2022-03-14 00:00 |    2     |      8       |   1239   |   1227   |    4     |
|  河南  | 2022-03-15 00:00 |    2     |      48      |   2713   |   2643   |    22    |
|  广东  | 2022-03-15 00:00 |    80    |     1760     |   6048   |   4280   |    8     |
|  浙江  | 2022-03-14 00:00 |    47    |     397      |   2457   |   2059   |    1     |
|  湖北  | 2022-03-14 00:00 |    1     |      38      |  68387   |  63837   |   4512   |
+--------+------------------+----------+--------------+----------+----------+----------+
'''

数据保存

接下来我们将提取到的数据使用open方法保存到本地csv文件中,便于我们接下来的可视化展示

# 数据保存
f = open('疫情.csv', mode='a', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
        '地区',
        '时间',
        '新增人数',
        '现有确诊人数',
        '累计确诊',
        '治愈人数',
        '死亡人数'
    ])
# 写入表格
csv_writer.writeheader()
dit = {
            '地区': area,
            '时间': content_time,
            '新增人数': nativeRelative,
            '现有确诊人数': curConfirm,
            '累计确诊': confirmed,
            '治愈人数': crued,
            '死亡人数': died
            }
csv_writer.writerow(dit)

成功保存数据如下:

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

数据可视化

最后我们使用pyecharts来绘制可视化饼图、地图、折线图和柱状图

然后使用组合图展示如下:

详情可以参考:

https://pyecharts.org/#/zh-cn/composite_charts?id=page%ef%bc%9a%e9%a1%ba%e5%ba%8f%e5%a4%9a%e5%9b%be

单日新增病例

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

现有确诊人数

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

累计确诊人数

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

治愈人数

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

死亡人数

爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

Original: https://blog.csdn.net/qq_36807888/article/details/123888775
Author: 途途途途
Title: 爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/695372/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球