文章实时采集(【Python爬虫+数据分析】实时采集最新疫情数据,绘制可视化地图分析 )

优采云 发布时间: 2021-12-09 07:14

  文章实时采集(【Python爬虫+数据分析】实时采集最新疫情数据,绘制可视化地图分析

)

  文章内容

  一、 写在前面

  兄弟们,最近有各种流行病。下班后尽量少去人多的地方。出门记得戴口罩。

  

  所以如果你不出去,在家什么都不做,你只能学到更多的新东西。今天,我就爬取国内的疫情数据,看看国内的疫情情况。最后,让我们将数据可视化并制作可视化地图。

  

  二、准备2.1、开发环境

  如果您不知道如何安装软件、模块或其他基本和简单的问题,请参阅此处:Python 入门集合

  我还在本文末尾附上了视频教程。文章看不懂,可以看视频。

  2.2、知识点爬虫基本流程jsonrequests在爬虫中发送网络请求,pandas表单处理/保存数据pyecharts可视化三、爬虫部分3.1、爬虫过程明确要求

  我们在爬什么?

  分析数据从何而来#/

  使用开发者工具抓包(数据包)分析代码流

  ①. 发送访问请求网站

  ②. 获取数据

  ③. 分析数据

  xpath css re json bs4(已过时)

  python语言的json字典类型数据{key 1: value 1, key 2: value 2, key 3: value 3}

  ④. 保存数据3.2、数据采集

  导入模块

  import time # 时间模块

import json # json包

import requests # 网络请求库 第三方 pip

import pandas as pd # 数据处理 第三库 pip

  目标网址

  url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&_=%d'%int(time.time()*1000)

  模拟浏览器发送请求并得到响应

  html = requests.get(url)

  分析网页并提取数据

  # json类型转换

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)

df

  保存数据

  df.to_csv(r'data.csv')

  四、数据可视化部分

  from pyecharts import options as opts

from pyecharts.charts import Bar,Line,Pie,Map,Grid

  df2 = df.sort_values(by=['nowConfirm'],ascending=False)[:9]

df2

  [list(i) for i in zip(df2['province'].values.tolist(),df2['nowConfirm'].values.tolist())]

  pie = (

Pie()

.add(

"",

[list(i) for i in zip(df2['province'].values.tolist(),df2['nowConfirm'].values.tolist())],

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_notebook()

  死亡率和治愈率

  line = (

Line()

.add_xaxis(list(df['province'].values))

.add_yaxis("治愈率", df['healRate'].values.tolist())

.add_yaxis("死亡率", df['deadRate'].values.tolist())

.set_global_opts(

title_opts=opts.TitleOpts(title="死亡率与治愈率"),

)

)

line.render_notebook()

  各地区确诊及死亡人数

  各地区确诊病例数

  china_map = (

Map()

.add("现有确诊", [list(i) for i in zip(df['province'].values.tolist(),df['nowConfirm'].values.tolist())], "china")

.set_global_opts(

title_opts=opts.TitleOpts(title="各地区确诊人数"),

visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),

)

)

china_map.render('a.html')

  五、视频教程

  怕是零基础不好。已经为此发布了相关的视频教程。你可以自己看。

  【Python爬虫+数据分析】实时采集最新疫情数据,绘制可视化地图分析!

  六、写在最后

  兄弟们,如果觉得对你有帮助,别忘了给你的脸点个赞,评论,采集,连续四次转发哦~

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线