Python采集疫情数据,绘制可视化动态地图,实时查询疫情数据! ...

打印 上一主题 下一主题

主题 537|帖子 537|积分 1611

疫情尚未结束,我们需要做好自己,时刻防范,不给别人添麻烦。
今天我们来尝试用Python抓取世界疫情,实现可视化地图展示。
话不多说直接开搞!
采集数据

1、数据来源

数据来源于TX新闻,链接展示不了,就只贴图了。

 
 
2、模块
  1. import requests  
  2. import csv   
  3. # Python学习交流君羊:279199867
复制代码
 
requests 发送请求模块, 是第三方模块,需要手动安装。
win + r输入cmd按回车打开命令提示符窗口,使用pip安装
csv 是内置模块,无需安装。
  1. pip install requests
复制代码
 
3、代码展示

获取网页url ,我这里网址屏蔽了,不然不给过。
  1. url = 'https://****com/newsqa/v1/automation/modules/list?modules=FAutoCountryConfirmAdd,WomWorld,WomAboard'
复制代码
 
发送请求
  1. response = requests.post(url)
复制代码
 
获取数据
  1. json_data = response.json()
复制代码
 
解析数据
  1. WomAboard = json_data['data']['WomAboard']
  2. for i in range(0, len(WomAboard)):
  3.     name = WomAboard[i]['name']
  4.     confirm = WomAboard[i]['confirm']
  5.     confirmAdd = WomAboard[i]['confirmAdd']
  6.     heal = WomAboard[i]['heal']
  7.     dead = WomAboard[i]['dead']
  8.     print(name, confirm, confirmAdd, heal, dead)
复制代码
 
保存数据
  1. f = open('疫情数据.csv', mode='a', encoding='utf-8', newline='')
  2. csv_writer = csv.writer(f)
  3.     csv_writer.writerow([name, confirm, confirmAdd, heal, dead])
复制代码
 
4、效果展示

采集过程

保存好的数据

数据可视化

1、效果展示

接下来看看生成好的可视化世界疫情地图

由于地图是动态的,我就直接截图了,大家可以自己实践一下制作地图详细看。
2、代码展示

模块
  1. import pandas as pd  # 做表格操作的模块
  2. from pyecharts.charts import Map  # 绘图的模块
  3. from pyecharts import options as opts
复制代码
 
导入数据
 
  1. df = pd.read_csv('疫情数据.csv')
  2. name = df['name'].tolist()
  3. confirm = df['confirm'].tolist()
  4. print(name)
  5. print(confirm)
  6. c = (
  7.     Map(init_opts=opts.InitOpts(width='1400px', height='600px'))
  8.         .add("累计确诊", [list(z) for z in zip(name, confirm)], "world", name_map=name_map, is_map_symbol_show=False)
  9.         .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
  10.         .set_global_opts(
  11.         title_opts=opts.TitleOpts(title="Map-世界地图"),
  12.         visualmap_opts=opts.VisualMapOpts(max_=1000000, is_piecewise=True, pieces=pieces),
  13.     )
  14.         .render("map_world.html")
  15. )
  16. # 完整代码及国内疫情数据抓取代码、视频讲解直接在Python学习交流群 279199867 自取即可。
复制代码
 
国家地区
  1. name_map = {
  2.     'Singapore Rep.': '新加坡',
  3.     'Dominican Rep.': '多米尼加',
  4.     'Palestine': '巴勒斯坦',
  5.     'Bahamas': '巴哈马',
  6.     'Timor-Leste': '东帝汶',
  7.     'Afghanistan': '阿富汗',
  8.     'Guinea-Bissau': '几内亚比绍',
  9.     "Côte d'Ivoire": '科特迪瓦',
  10.     'Siachen Glacier': '锡亚琴冰川',
  11.     "Br. Indian Ocean Ter.": '英属印度洋领土',
  12.     'Angola': '安哥拉',
  13.     'Albania': '阿尔巴尼亚',
  14.     'United Arab Emirates': '阿联酋',
  15.     'Argentina': '阿根廷',
  16.     'Armenia': '亚美尼亚',
  17.     'French Southern and Antarctic Lands': '法属南半球和南极领地',
  18.     'Australia': '澳大利亚',
  19.     'Austria': '奥地利',
  20.     'Azerbaijan': '阿塞拜疆',
  21.     'Burundi': '布隆迪',
  22.     'Belgium': '比利时',
  23.     'Benin': '贝宁',
  24.     'Burkina Faso': '布基纳法索',
  25.     'Bangladesh': '孟加拉国',
  26.     'Bulgaria': '保加利亚',
  27.     'The Bahamas': '巴哈马',
  28.     'Bosnia and Herz.': '波斯尼亚和黑塞哥维那',
  29.     'Belarus': '白俄罗斯',
  30.     'Belize': '伯利兹',
  31.     'Bermuda': '百慕大',
  32.     'Bolivia': '玻利维亚',
  33.     'Brazil': '巴西',
  34.     'Brunei': '文莱',
  35.     'Bhutan': '不丹',
  36.     'Botswana': '博茨瓦纳',
  37.     'Central African Rep.': '中非共和国',
  38.     'Canada': '加拿大',
  39.     'Switzerland': '瑞士',
  40.     'Chile': '智利',
  41.     'China': '中国',
  42.     'Ivory Coast': '象牙海岸',
  43.     'Cameroon': '喀麦隆',
  44.     'Dem. Rep. Congo': '刚果(金)',
  45.     'Congo': '刚果(布)',
  46.     'Colombia': '哥伦比亚',
  47.     'Costa Rica': '哥斯达黎加',
  48.     'Cuba': '古巴',
  49.     'N. Cyprus': '北塞浦路斯',
  50.     'Cyprus': '塞浦路斯',
  51.     'Czech Rep.': '捷克',
  52.     'Germany': '德国',
  53.     'Djibouti': '吉布提',
  54.     'Denmark': '丹麦',
  55.     'Algeria': '阿尔及利亚',
  56.     'Ecuador': '厄瓜多尔',
  57.     'Egypt': '埃及',
  58.     'Eritrea': '厄立特里亚',
  59.     'Spain': '西班牙',
  60.     'Estonia': '爱沙尼亚',
  61.     'Ethiopia': '埃塞俄比亚',
  62.     'Finland': '芬兰',
  63.     'Fiji': '斐',
  64.     'Falkland Islands': '福克兰群岛',
  65.     'France': '法国',
  66.     'Gabon': '加蓬',
  67.     'United Kingdom': '英国',
  68.     'Georgia': '格鲁吉亚',
  69.     'Ghana': '加纳',
  70.     'Guinea': '几内亚',
  71.     'Gambia': '冈比亚',
  72.     'Guinea Bissau': '几内亚比绍',
  73.     'Eq. Guinea': '赤道几内亚',
  74.     'Greece': '希腊',
  75.     'Greenland': '格陵兰',
  76.     'Guatemala': '危地马拉',
  77.     'French Guiana': '法属圭亚那',
  78.     'Guyana': '圭亚那',
  79.     'Honduras': '洪都拉斯',
  80.     'Croatia': '克罗地亚',
  81.     'Haiti': '海地',
  82.     'Hungary': '匈牙利',
  83.     'Indonesia': '印度尼西亚',
  84.     'India': '印度',
  85.     'Ireland': '爱尔兰',
  86.     'Iran': '伊朗',
  87.     'Iraq': '伊拉克',
  88.     'Iceland': '冰岛',
  89.     'Israel': '以色列',
  90.     'Italy': '意大利',
  91.     'Jamaica': '牙买加',
  92.     'Jordan': '约旦',
  93.     'Japan': '日本',
  94.     'Kazakhstan': '哈萨克斯坦',
  95.     'Kenya': '肯尼亚',
  96.     'Kyrgyzstan': '吉尔吉斯斯坦',
  97.     'Cambodia': '柬埔寨',
  98.     'Korea': '韩国',
  99.     'Kosovo': '科索沃',
  100.     'Kuwait': '科威特',
  101.     'Lao PDR': '老挝',
  102.     'Lebanon': '黎巴嫩',
  103.     'Liberia': '利比里亚',
  104.     'Libya': '利比亚',
  105.     'Sri Lanka': '斯里兰卡',
  106.     'Lesotho': '莱索托',
  107.     'Lithuania': '立陶宛',
  108.     'Luxembourg': '卢森堡',
  109.     'Latvia': '拉脱维亚',
  110.     'Morocco': '摩洛哥',
  111.     'Moldova': '摩尔多瓦',
  112.     'Madagascar': '马达加斯加',
  113.     'Mexico': '墨西哥',
  114.     'Macedonia': '马其顿',
  115.     'Mali': '马里',
  116.     'Myanmar': '缅甸',
  117.     'Montenegro': '黑山',
  118.     'Mongolia': '蒙古',
  119.     'Mozambique': '莫桑比克',
  120.     'Mauritania': '毛里塔尼亚',
  121.     'Malawi': '马拉维',
  122.     'Malaysia': '马来西亚',
  123.     'Namibia': '纳米比亚',
  124.     'New Caledonia': '新喀里多尼亚',
  125.     'Niger': '尼日尔',
  126.     'Nigeria': '尼日利亚',
  127.     'Nicaragua': '尼加拉瓜',
  128.     'Netherlands': '荷兰',
  129.     'Norway': '挪威',
  130.     'Nepal': '尼泊尔',
  131.     'New Zealand': '新西兰',
  132.     'Oman': '阿曼',
  133.     'Pakistan': '巴基斯坦',
  134.     'Panama': '巴拿马',
  135.     'Peru': '秘鲁',
  136.     'Philippines': '菲律宾',
  137.     'Papua New Guinea': '巴布亚新几内亚',
  138.     'Poland': '波兰',
  139.     'Puerto Rico': '波多黎各',
  140.     'Dem. Rep. Korea': '朝鲜',
  141.     'Portugal': '葡萄牙',
  142.     'Paraguay': '巴拉圭',
  143.     'Qatar': '卡塔尔',
  144.     'Romania': '罗马尼亚',
  145.     'Russia': '俄罗斯',
  146.     'Rwanda': '卢旺达',
  147.     'W. Sahara': '西撒哈拉',
  148.     'Saudi Arabia': '沙特阿拉伯',
  149.     'Sudan': '苏丹',
  150.     'S. Sudan': '南苏丹',
  151.     'Senegal': '塞内加尔',
  152.     'Solomon Is.': '所罗门群岛',
  153.     'Sierra Leone': '塞拉利昂',
  154.     'El Salvador': '萨尔瓦多',
  155.     'Somaliland': '索马里兰',
  156.     'Somalia': '索马里',
  157.     'Serbia': '塞尔维亚',
  158.     'Suriname': '苏里南',
  159.     'Slovakia': '斯洛伐克',
  160.     'Slovenia': '斯洛文尼亚',
  161.     'Sweden': '瑞典',
  162.     'Swaziland': '斯威士兰',
  163.     'Syria': '叙利亚',
  164.     'Chad': '乍得',
  165.     'Togo': '多哥',
  166.     'Thailand': '泰国',
  167.     'Tajikistan': '塔吉克斯坦',
  168.     'Turkmenistan': '土库曼斯坦',
  169.     'East Timor': '东帝汶',
  170.     'Trinidad and Tobago': '特里尼达和多巴哥',
  171.     'Tunisia': '突尼斯',
  172.     'Turkey': '土耳其',
  173.     'Tanzania': '坦桑尼亚',
  174.     'Uganda': '乌干达',
  175.     'Ukraine': '乌克兰',
  176.     'Uruguay': '乌拉圭',
  177.     'United States': '美国',
  178.     'Uzbekistan': '乌兹别克斯坦',
  179.     'Venezuela': '委内瑞拉',
  180.     'Vietnam': '越南',
  181.     'Vanuatu': '瓦努阿图',
  182.     'West Bank': '西岸',
  183.     'Yemen': '也门',
  184.     'South Africa': '南非',
  185.     'Zambia': '赞比亚',
  186.     'Zimbabwe': '津巴布韦',
  187.     'Comoros': '科摩罗'
  188. }
  189. pieces = [
  190.     {"min": 1000000},
  191.     {"min": 100000, "max": 999999},
  192.     {"min": 10000, "max": 99999},
  193.     {"min": 1000, "max": 9999},
  194.     {"min": 100, "max": 999},
  195.     {"min": 0, "max": 99},
  196. ]
复制代码
 
写在最后

好了,今天的分享就差不多到这里了。
兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些大兄弟们,我上传了几套视频教程分享在下方,希望对大家有所帮助。
Python零基础入门全套教程
Python进阶全套教程
Python实战100例
当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天空闲话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表