爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据 |
您所在的位置:网站首页 › pubg怎么调高脚步声 › 爬取疫情最新数据,绘制数据可视化地图,实时查看最新疫情数据 |
近日,各地疫情又出现严重反复的现象,目前新增新冠疫情仍处于多点散发、局部聚集的态势,面对这样的情况,疫情防控还要这样做! 我们再从数据方面分析一下来看看全国疫情情况。获取的数据如下:地区、死亡人数、确诊人数、新增人数、治愈人数、当前确诊人数等绘制疫情可视化地图 网站分析 我们今天要爬取的网站是百度,这个网站每日实时更新最新疫情数据。如下: 我们右键检查如下获取数据来源网址 在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单日新增病例 现有确诊人数 累计确诊人数 治愈人数 死亡人数 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |