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

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

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

注意这里的返回数据是包含在一个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是决定渲染颜色的。效果图如下

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

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

总结

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

(0)

相关推荐

  • Python 给定的经纬度标注在地图上的实现方法

    博主最近发现了python中一个好玩的包叫basemap,使用这个包可以绘制地图.值得说一下的是,basemap还没有pip检索,因此不能直接使用pip install basemap,来安装这个包.所以需要自己把下面两个包自行下载,然后在该目录下使用pip安装. pyproj-1.9.5.1-cp36-cp36m-win_amd64.whl basemap-1.1.0-cp36-cp36m-win_amd64.whl 先上个效果图,可以发现这个工具包还是很强大的,下面介绍下怎么在地图上标注出经

  • python 地图经纬度转换、纠偏的实例代码

    python 地图经纬度转换.纠偏的代码如下所示: # -*- coding: utf-8 -*- import json import urllib import math x_pi = 3.14159265358979324 * 3000.0 / 180.0 pi = 3.1415926535897932384626 # π a = 6378245.0 # 长半轴 ee = 0.00669342162296594323 # 偏心率平方 class Geocoding: def __init_

  • python使用folium库绘制地图点击框

    python使用folium 库生成地图网页的具体代码,供大家参考,具体内容如下 folium 官网 import folium import pandas as pd def mark_map(data): """ 带有标注的地图 :param data: :return: """ # 地图制作 myMap = folium.Map(location=[20, 0], tiles="Mapbox Bright", zoom_

  • python requests爬取高德地图数据的实例

    如下所示: 1.pip install requests 2.pip install lxml 3.pip install xlsxwriter import requests #想要爬必须引 from lxml import html #这个是用于页面爬取 import xlsxwriter#操作Excel表格库 workbook = xlsxwriter.Workbook('E:/test/test.xlsx')# 新建的Excel表格文档路径 worksheet = workbook.ad

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

    最近一周每天早上起来第一件事,就是打开新闻软件看疫情相关的新闻.了解下自己和亲友所在城市的确诊人数,但纯数字还是缺乏一个直观的概念.那我们来做一个吧. 至于数据,从各大网站的实时疫情页面就可以拿到.以某网站为例,用requests拿到html后,发现并没有数据.不要慌,那证明是个javascript渲染的页面,即使是javascript也是需要从后台取数据的.打开Chrome开发者工具,点开network,刷新页面,点击各个请求,肯定有一个是取json的. 注意这里的返回数据是包含在一个js变量

  • Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例

    运行结果(2020-2-4日数据) 数据来源 news.qq.com/zt2020/page/feiyan.htm 抓包分析 日报数据格式 "chinaDayList": [{ "date": "01.13", "confirm": "41", "suspect": "0", "dead": "1", "heal&qu

  • Python3实现监控新型冠状病毒肺炎疫情的示例代码

    代码如下所示: import requests import json from pyecharts.charts import Map, Geo from pyecharts import options as opts from pyecharts.globals import GeoType, RenderType url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' datas = json.loads(reque

  • node爬取新型冠状病毒的疫情实时动态

    写在前面: 新型冠状病毒有多么可怕,我想大家都已经知道了.湖北爆发了新型冠状病毒,湖南前几天爆发了禽流感,四川发生地震,中国加油!昨天晚上我突发奇想地打算把疫情实时动态展示在自建站上,于是说干就干(先附上昨晚用puppeteer截的图片). 安装node_modules: 所需的node_modules:①puppeteer:②cheerio:③fs:④cron. 需要注意的是安装puppeteer的时候很容易安装失败,这里有俩个解决方法,都是用淘宝源(马云爸爸不是白叫的

  • 用python制作个论文下载器(图形化界面)

    在科研学习的过程中,我们难免需要查询相关的文献资料,而想必很多小伙伴都知道SCI-HUB,此乃一大神器,它可以帮助我们搜索相关论文并下载其原文.可以说,SCI-HUB造福了众多科研人员,用起来也是"美滋滋". 在上一篇文章中介绍了分析过程以及相应的函数代码.根据小伙伴们的反映发现了一些问题,毕竟命令框的形式用起来难免没那么"丝滑".为了让大家更方便地使用,可以"纵享丝滑",kimol君决定写一个图形界面(GUI): PS.由于近期实属忙到晕厥,这

  • Python制作爬虫抓取美女图

    作为一个新世纪有思想有文化有道德时刻准备着的屌丝男青年,在现在这样一个社会中,心疼我大慢播抵制大百度的前提下,没事儿上上网逛逛YY看看斗鱼翻翻美女图片那是必不可少的,可是美图虽多翻页费劲!今天我们就搞个爬虫把美图都给扒下来!本次实例有2个:煎蛋上的妹子图,某网站的rosi图.我只是一个学习python的菜鸟,技术不可耻,技术是无罪的!!! 煎蛋: 先说说程序的流程:获取煎蛋妹子图URL,得到网页代码,提取妹子图片地址,访问图片地址并将图片保存到本地.Ready? 先让我们看看煎蛋妹子网页: 我们

  • Python实现新型冠状病毒传播模型及预测代码实例

    1.传染及发病过程 一个健康人感染病毒后进入潜伏期(时间长度为Q天),潜伏期之后进入发病期(时间长度为D天),发病期之后该患者有三个可能去向,分别是自愈.接收隔离.死亡. 2.模型假设 潜伏期Q=7天,根据报道潜伏期为2~14天,取中间值:发病期D=10天,根据文献报告,WHO认定SARS发病期为10天,假设武汉肺炎与此相同:潜伏期的患者不具有将病毒传染给他人的能力:发病期的患者具有将病毒传染给他人的能力:患者在发病期之后不再具有将病毒传染他人的能力:假设处于发病期的患者平均每天密切接触1人,致

  • 使用Python制作获取网站目录的图形化程序

    1.pyqt4写的界面 find_ui.py #-*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, dis

  • PHP实现新型冠状病毒疫情实时图的实例

    我们先来看一下运行图 下面我们来看源代码: <?php //抓取抖音的接口数据 global $nCov_data; $nCov_data['data']=get_nCoV_douyin_news(); $nCov_data['total']=get_nCoV_douyin_total(); function get_nCoV_douyin_news(){ $content=@file_get_contents('https://i.snssdk.com/api/feed/forum_flow/

  • Python实现实时数据采集新型冠状病毒数据实例

    Python实时数据采集-新型冠状病毒 源代码 来源:https://github.com/Programming-With-Love/2019-nCoV 疫情数据时间为:2020.2.1 项目相关截图: 全国数据展示 国内数据展示 国外数据展示 查看指定区域详细数据 源代码,注意安装所需模块(例如 pip install 模块名) import requests import re from bs4 import BeautifulSoup from time import sleep imp

随机推荐