基于python的疫情数据可视化分析,python实现疫情爬虫和数据可视化
采集流程一。明确需求
采集/确诊人数/新增人数
二。代码流程四大步骤
发送请求获取数据网页源代码解析数据筛选一些我想用的数据保存数据保存成表格做数据可视化分析
开始代码1.发送请求导入请求#额外安装:第三方模块
网址= https://voice . Baidu . com/act/new pneumonia/new pneumonia/? from=osari_aladin_banner
response=requests.get(url)2 .获取数据网页源代码html_data=响应。文本
#打印(回复.正文)
3.解析数据最烦的事情来了,就是提取里面的数据
str _ data=re。find all( script type= application \/JSON id= captain-config \ { .*)\} ,html_data)[0]
打印(回复查找全部( component ):\[.*)\],,str_data)[0])
用工具去解析一下,在案例列表里面就是我们想要的数据了
JSON _ str=re。查找全部( component ):\[.*)\],,html_data)[0] #字符串
# 字典类型取值,转类型
json_dict=eval(json_str)
caseList=json_dict[caseList]
对于案件清单中的案件:
area=case[area] #城市
curConfirm=case[curConfirm] #当前确诊
curconfirmrational=case[ curconfirmrational ]#新增人数
确认=病例[确认] #累计确诊
crued=case[crued] #治愈人数
死亡=案例[死亡] #死亡人数4.保存数据用打开( data.csv ,mode=a ,newline= )作为女:
csv_writer=csv.writer(f)
csv_writer.writerow([area,curConfirm,curConfirmRelative,Confirm,crued,dead])运行代码,得到数据
疫情数据可视化完整源码数据集各地区确诊人数中国_地图=(
地图()。添加(现有确诊、list(I)for I in zip(df[ area ]。价值观。to list()、df[ cur confirm ]。价值观。要列出())]、‘中国’)。集合_全局_opts(
title_opts=opts .TitleOpts(title=各地区确诊人数),
visualmap_opts=opts .VisualMapOpts(max_=200,is _ piecewise=True),
)
)
中国_地图。渲染_笔记本()新型冠状病毒全国疫情地图cofirm,currentCofirm,cured,dead=[],[],[],[]
tab=Tab()
_map=(
Map(init_opts=opts .InitOpts(theme=dark ,width=1000px ))。添加(累计确诊人数,[list(I)for I in zip(df[ area ]。价值观。to list(),df[已确认]。价值观。to list()],中国,is_map_symbol_show=False,is_roam=False)。set _ series _ opts(label _ opts=opts .LabelOpts(is_show=True))。集合_全局_opts(
title_opts=opts .TitleOpts(title=新型冠状病毒全国疫情地图,
),
legend_opts=opts .LegendOpts(is_show=False),
visualmap_opts=opts .VisualMapOpts(is_show=True,max_=1000,
是_分段=假,
range_color=[#FFFFE0 , #FFA07A , #CD5C5C , #8B0000])
)
)
tab.add(_map,)累计确诊)
_map=(
Map(init_opts=opts .InitOpts(theme=dark ,width=1000px ))。添加(当前确诊人数,[list(I)for I in zip(df[ area ]。价值观。to list(),df[ cur confirm ]。价值观。to list())],中国,is_map_symbol_show=False,is_roam=False)。set _ series _ opts(label _ opts=opts .LabelOpts(is_show=True))。集合_全局_opts(
title_opts=opts .TitleOpts(title=新型冠状病毒全国疫情地图,
),
legend_opts=opts .LegendOpts(is_show=False),
visualmap_opts=opts .VisualMapOpts(is_show=True,max_=100,
是_分段=假,
range_color=[#FFFFE0 , #FFA07A , #CD5C5C , #8B0000])
)
)
tab.add(_map,)当前确诊)
_map=(
Map(init_opts=opts .InitOpts(theme=dark ,width=1000px ))。添加(治愈人数,[list(I)for I in zip(df[ area ]。价值观。to list(),df[ crued ]。价值观。to list()],中国,is_map_symbol_show=False,is_roam=False)。set _ series _ opts(label _ opts=opts .LabelOpts(is_show=True))。集合_全局_opts(
title_opts=opts .TitleOpts(title=新型冠状病毒全国疫情地图,
),
legend_opts=opts .LegendOpts(is_show=False),
visualmap_opts=opts .VisualMapOpts(is_show=True,max_=1000,
是_分段=假,
range_color=[#FFFFE0 , green])
)
)
tab.add(_map,)治愈)
_map=(
Map(init_opts=opts .InitOpts(theme=dark ,width=1000px ))。添加(死亡人数,[list(I)for I in zip(df[ area ]。价值观。to list(),df[死]。价值观。to list()],中国,is_map_symbol_show=False,is_roam=False)。set _ series _ opts(label _ opts=opts .LabelOpts(is_show=True))。集合_全局_opts(
title_opts=opts .TitleOpts(title=新型冠状病毒全国疫情地图,
),
legend_opts=opts .LegendOpts(is_show=False),
visualmap_opts=opts .VisualMapOpts(is_show=True,max_=50,
是_分段=假,
range_color=[#FFFFE0 , #FFA07A , #CD5C5C , #8B0000])
)
)
tab.add(_map,)死亡)
tab.render_notebook()各地区确诊人数与死亡人数情况bar=(
酒吧()。add_xaxis(list(df[area].值)[:6])。add_yaxis(死亡,df[死]。价值观。至列表()[:6])。add_yaxis(治愈,df[ crued ]。价值观。至列表()[:6])。集合_全局_opts(
title_opts=opts .TitleOpts(title=各地区确诊人数与死亡人数情况),
datazoom_opts=[opts .DataZoomOpts()],
)
)
bar.render_notebook()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。