使用Python制作新型冠状病毒实时疫情图


Posted in Python onJanuary 28, 2020

最近一周每天早上起来第一件事,就是打开新闻软件看疫情相关的新闻。了解下自己和亲友所在城市的确诊人数,但纯数字还是缺乏一个直观的概念。那我们来做一个吧。

至于数据,从各大网站的实时疫情页面就可以拿到。以某网站为例,用requests拿到html后,发现并没有数据。不要慌,那证明是个javascript渲染的页面,即使是javascript也是需要从后台取数据的。打开Chrome开发者工具,点开network,刷新页面,点击各个请求,肯定有一个是取json的。

使用Python制作新型冠状病毒实时疫情图

注意这里的返回数据是包含在一个js变量的,用正则处理下就好,然后用python自带的json.loads方法就可以转为dict了

result = requests.get(
    'https://interface.sina.cn/news/wap/fymap2020_data.d.json?1580097300739&&callback=sinajp_1580097300873005379567841634181')
  json_str = re.search("\(+([^)]*)\)+", result.text).group(1)

  html = f"{json_str}"
  table = json.loads(f"{html}")

数据格式很简单,省数据和下属城市的数据

{ 'city': [  {  'conNum': '4',
          'cureNum': '0',
          'deathNum': '0',
          'name': '乌鲁木齐',
          'susNum': '0'},
        {  'conNum': '1',
          'cureNum': '0',
          'deathNum': '0',
          'name': '伊犁州',
          'susNum': '0'}],
  'cureNum': '0',
  'deathNum': '0',
  'name': '新疆',
  'susNum': '0',
  'value': '5'}

英语好的同学可以直接猜到cureNum是治愈数,deathNum是死亡人数。value应该是确诊数,其它字段可以根据原网站表格确定

最直观的图表当然是地图了。国内大厂出的echarts自然会对国内地图有最好的支持。用pip安装pyecharts, 以及两个数据包echarts-china-provinces-pypkg
echarts-china-cities-pypkg 即可

遍历下json数据,把省名和确诊数存在data数据里传给map对象就好

for province in table['data']['list']:
    pp.pprint(province)
    data.append((province['name'], province['value']))

    for city in province['city']:
      pp.pprint(city)
map_p = Map()
map_p.set_global_opts(title_opts=opts.TitleOpts(title="实时疫情图"), visualmap_opts=opts.VisualMapOpts(max_=100))
map_p.add("确诊", data, maptype="china")
map_p.render("ncov.html") # 生成html文件

代码很简单,注意max是决定渲染颜色的。效果图如下

使用Python制作新型冠状病毒实时疫情图

达到100确诊的省份一目了然。感兴趣的同学还可以制作市级别或者世界地图。

最后祝愿早日都变为蓝色吧。武汉加油,中国加油!

总结

以上所述是小编给大家介绍的使用Python制作新型冠状病毒实时疫情图,希望对大家有所帮助!

Python 相关文章推荐
Python中使用logging模块打印log日志详解
Apr 05 Python
在Python中使用PIL模块处理图像的教程
Apr 29 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
Dec 03 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
python tkinter图形界面代码统计工具(更新)
Sep 18 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
Python 动态变量名定义与调用方法
Feb 09 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 #Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
Jan 25 #Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 #Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
Jan 25 #Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 #Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 #Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
Jan 25 #Python
You might like
深入了解php4(1)--回到未来
2006/10/09 PHP
PHP n个不重复的随机数生成代码
2009/06/23 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
Laravel find in set排序实例
2019/10/09 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
自荐书4要点
2014/01/25 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
土建工程师岗位职责
2014/06/10 职场文书
作风整顿剖析材料
2014/09/30 职场文书
项目投资意向书范本
2015/05/09 职场文书
简历自我评价范文
2019/04/24 职场文书