嗨害大家好, 我是小熊猫❤

最近又新增了一些疫情…

我是真的会谢…

今天就来用python来采集一下~ ~ ~

咱就来宏观的看一看吧~

知识点:

  • 爬虫基本流程
  • requests 发送请求
  • re 正则表达式
  • json 结构化数据解析

开发环境:

  • python 3.8: 解释器
  • pycharm: 代码编辑器
  • requests 发送请求
  • pyecharts 绘制图表
  • pandas 读取数据

实现代码:

  • 发送请求 (通过代码方式 访问网站)
  • 获取数据 (数据内容 获取下来)
  • 解析数据 (去掉不需要的内容 留下需要的数据)
  • 保存数据

可视化:

数据分析里面的内容

代码

导入模块

import requests     # 发送请求的模块 第三方的
import csv          # 内置模块


1. 发送请求

response = requests.get(url)

2. 获取数据

# .text: 当你遇到类似于网页源代码的时候
# .json(): 当我们遇到的数据 为 {}/[] 包裹起来的数据的时候
# .content: 当你现在访问的网页链接 为 图片/视频/音频  二进制数据 010101
json_data = response.json()

3. 解析数据

WomAboard = json_data['data']['WomAboard']
for i in range(0, len(WomAboard)):name = WomAboard[i]['name']confirmAdd = WomAboard[i]['confirmAdd']confirm = WomAboard[i]['confirm']heal = WomAboard[i]['heal']dead = WomAboard[i]['dead']print(name, confirmAdd, confirm, heal, dead)csv_writer.writerow([name, confirmAdd, confirm, heal, dead])

可视化

import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as opts# pyecharts: Map地图 默认 英文版本
name_map = {'Singapore Rep.': '新加坡','Dominican Rep.': '多米尼加','Palestine': '巴勒斯坦','Bahamas': '巴哈马','Timor-Leste': '东帝汶','Afghanistan': '阿富汗','Guinea-Bissau': '几内亚比绍',"Côte d'Ivoire": '科特迪瓦','Siachen Glacier': '锡亚琴冰川',"Br. Indian Ocean Ter.": '英属印度洋领土','Angola': '安哥拉','Albania': '阿尔巴尼亚','United Arab Emirates': '阿联酋','Argentina': '阿根廷','Armenia': '亚美尼亚','French Southern and Antarctic Lands': '法属南半球和南极领地','Australia': '澳大利亚','Austria': '奥地利','Azerbaijan': '阿塞拜疆','Burundi': '布隆迪','Belgium': '比利时','Benin': '贝宁','Burkina Faso': '布基纳法索','Bangladesh': '孟加拉国','Bulgaria': '保加利亚','The Bahamas': '巴哈马','Bosnia and Herz.': '波斯尼亚和黑塞哥维那','Belarus': '白俄罗斯','Belize': '伯利兹','Bermuda': '百慕大','Bolivia': '玻利维亚','Brazil': '巴西','Brunei': '文莱','Bhutan': '不丹','Botswana': '博茨瓦纳','Central African Rep.': '中非共和国','Canada': '加拿大','Switzerland': '瑞士','Chile': '智利','China': '中国','Ivory Coast': '象牙海岸','Cameroon': '喀麦隆','Dem. Rep. Congo': '刚果(金)','Congo': '刚果(布)','Colombia': '哥伦比亚','Costa Rica': '哥斯达黎加','Cuba': '古巴','N. Cyprus': '北塞浦路斯','Cyprus': '塞浦路斯','Czech Rep.': '捷克','Germany': '德国','Djibouti': '吉布提','Denmark': '丹麦','Algeria': '阿尔及利亚','Ecuador': '厄瓜多尔','Egypt': '埃及','Eritrea': '厄立特里亚','Spain': '西班牙','Estonia': '爱沙尼亚','Ethiopia': '埃塞俄比亚','Finland': '芬兰','Fiji': '斐','Falkland Islands': '福克兰群岛','France': '法国','Gabon': '加蓬','United Kingdom': '英国','Georgia': '格鲁吉亚','Ghana': '加纳','Guinea': '几内亚','Gambia': '冈比亚','Guinea Bissau': '几内亚比绍','Eq. Guinea': '赤道几内亚','Greece': '希腊','Greenland': '格陵兰','Guatemala': '危地马拉','French Guiana': '法属圭亚那','Guyana': '圭亚那','Honduras': '洪都拉斯','Croatia': '克罗地亚','Haiti': '海地','Hungary': '匈牙利','Indonesia': '印度尼西亚','India': '印度','Ireland': '爱尔兰','Iran': '伊朗','Iraq': '伊拉克','Iceland': '冰岛','Israel': '以色列','Italy': '意大利','Jamaica': '牙买加','Jordan': '约旦','Japan': '日本','Kazakhstan': '哈萨克斯坦','Kenya': '肯尼亚','Kyrgyzstan': '吉尔吉斯斯坦','Cambodia': '柬埔寨','Korea': '韩国','Kosovo': '科索沃','Kuwait': '科威特','Lao PDR': '老挝','Lebanon': '黎巴嫩','Liberia': '利比里亚','Libya': '利比亚','Sri Lanka': '斯里兰卡','Lesotho': '莱索托','Lithuania': '立陶宛','Luxembourg': '卢森堡','Latvia': '拉脱维亚','Morocco': '摩洛哥','Moldova': '摩尔多瓦','Madagascar': '马达加斯加','Mexico': '墨西哥','Macedonia': '马其顿','Mali': '马里','Myanmar': '缅甸','Montenegro': '黑山','Mongolia': '蒙古','Mozambique': '莫桑比克','Mauritania': '毛里塔尼亚','Malawi': '马拉维','Malaysia': '马来西亚','Namibia': '纳米比亚','New Caledonia': '新喀里多尼亚','Niger': '尼日尔','Nigeria': '尼日利亚','Nicaragua': '尼加拉瓜','Netherlands': '荷兰','Norway': '挪威','Nepal': '尼泊尔','New Zealand': '新西兰','Oman': '阿曼','Pakistan': '巴基斯坦','Panama': '巴拿马','Peru': '秘鲁','Philippines': '菲律宾','Papua New Guinea': '巴布亚新几内亚','Poland': '波兰','Puerto Rico': '波多黎各','Dem. Rep. Korea': '朝鲜','Portugal': '葡萄牙','Paraguay': '巴拉圭','Qatar': '卡塔尔','Romania': '罗马尼亚','Russia': '俄罗斯','Rwanda': '卢旺达','W. Sahara': '西撒哈拉','Saudi Arabia': '沙特阿拉伯','Sudan': '苏丹','S. Sudan': '南苏丹','Senegal': '塞内加尔','Solomon Is.': '所罗门群岛','Sierra Leone': '塞拉利昂','El Salvador': '萨尔瓦多','Somaliland': '索马里兰','Somalia': '索马里','Serbia': '塞尔维亚','Suriname': '苏里南','Slovakia': '斯洛伐克','Slovenia': '斯洛文尼亚','Sweden': '瑞典','Swaziland': '斯威士兰','Syria': '叙利亚','Chad': '乍得','Togo': '多哥','Thailand': '泰国','Tajikistan': '塔吉克斯坦','Turkmenistan': '土库曼斯坦','East Timor': '东帝汶','Trinidad and Tobago': '特里尼达和多巴哥','Tunisia': '突尼斯','Turkey': '土耳其','Tanzania': '坦桑尼亚','Uganda': '乌干达','Ukraine': '乌克兰','Uruguay': '乌拉圭','United States': '美国','Uzbekistan': '乌兹别克斯坦','Venezuela': '委内瑞拉','Vietnam': '越南','Vanuatu': '瓦努阿图','West Bank': '西岸','Yemen': '也门','South Africa': '南非','Zambia': '赞比亚','Zimbabwe': '津巴布韦','Comoros': '科摩罗'
}
pieces = [{"min": 1000000},{"min": 100000, "max": 999999},{"min": 10000, "max": 99999},{"min": 1000, "max": 9999},{"min": 100, "max": 999},{"min": 0, "max": 99},
]
# 1. 读取数据
df = pd.read_csv('疫情数据.csv')
name = df['name'].values.tolist()
confirm = df['confirm'].values.tolist()
confirmAdd = df['confirmAdd'].values.tolist()
heal = df['heal'].values.tolist()
world_map = (Map().add('累计确诊', [list(i) for i in zip(name, confirm)], 'world', is_map_symbol_show=False, name_map=name_map).add('新增确诊', [list(i) for i in zip(name, confirmAdd)], 'world', is_map_symbol_show=False, name_map=name_map).add('治愈人数', [list(i) for i in zip(name, heal)], 'world', is_map_symbol_show=False, name_map=name_map).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title='世界疫情情况'),visualmap_opts=opts.VisualMapOpts(max_=1000000, is_piecewise=True, pieces=pieces))
)
world_map.render('world_map.html')

可视化

文末名片获取


import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as opts# pyecharts: Map地图 默认 英文版本
name_map = {'Singapore Rep.': '新加坡','Dominican Rep.': '多米尼加','Palestine': '巴勒斯坦','Bahamas': '巴哈马','Timor-Leste': '东帝汶','Afghanistan': '阿富汗','Guinea-Bissau': '几内亚比绍',"Côte d'Ivoire": '科特迪瓦','Siachen Glacier': '锡亚琴冰川',"Br. Indian Ocean Ter.": '英属印度洋领土','Angola': '安哥拉','Albania': '阿尔巴尼亚','United Arab Emirates': '阿联酋','Argentina': '阿根廷','Armenia': '亚美尼亚','French Southern and Antarctic Lands': '法属南半球和南极领地','Australia': '澳大利亚','Austria': '奥地利','Azerbaijan': '阿塞拜疆','Burundi': '布隆迪','Belgium': '比利时','Benin': '贝宁','Burkina Faso': '布基纳法索','Bangladesh': '孟加拉国','Bulgaria': '保加利亚','The Bahamas': '巴哈马','Bosnia and Herz.': '波斯尼亚和黑塞哥维那','Belarus': '白俄罗斯','Belize': '伯利兹','Bermuda': '百慕大','Bolivia': '玻利维亚','Brazil': '巴西','Brunei': '文莱','Bhutan': '不丹','Botswana': '博茨瓦纳','Central African Rep.': '中非共和国','Canada': '加拿大','Switzerland': '瑞士','Chile': '智利','China': '中国','Ivory Coast': '象牙海岸','Cameroon': '喀麦隆','Dem. Rep. Congo': '刚果(金)','Congo': '刚果(布)','Colombia': '哥伦比亚','Costa Rica': '哥斯达黎加','Cuba': '古巴','N. Cyprus': '北塞浦路斯','Cyprus': '塞浦路斯','Czech Rep.': '捷克','Germany': '德国','Djibouti': '吉布提','Denmark': '丹麦','Algeria': '阿尔及利亚','Ecuador': '厄瓜多尔','Egypt': '埃及','Eritrea': '厄立特里亚','Spain': '西班牙','Estonia': '爱沙尼亚','Ethiopia': '埃塞俄比亚','Finland': '芬兰','Fiji': '斐','Falkland Islands': '福克兰群岛','France': '法国','Gabon': '加蓬','United Kingdom': '英国','Georgia': '格鲁吉亚','Ghana': '加纳','Guinea': '几内亚','Gambia': '冈比亚','Guinea Bissau': '几内亚比绍','Eq. Guinea': '赤道几内亚','Greece': '希腊','Greenland': '格陵兰','Guatemala': '危地马拉','French Guiana': '法属圭亚那','Guyana': '圭亚那','Honduras': '洪都拉斯','Croatia': '克罗地亚','Haiti': '海地','Hungary': '匈牙利','Indonesia': '印度尼西亚','India': '印度','Ireland': '爱尔兰','Iran': '伊朗','Iraq': '伊拉克','Iceland': '冰岛','Israel': '以色列','Italy': '意大利','Jamaica': '牙买加','Jordan': '约旦','Japan': '日本','Kazakhstan': '哈萨克斯坦','Kenya': '肯尼亚','Kyrgyzstan': '吉尔吉斯斯坦','Cambodia': '柬埔寨','Korea': '韩国','Kosovo': '科索沃','Kuwait': '科威特','Lao PDR': '老挝','Lebanon': '黎巴嫩','Liberia': '利比里亚','Libya': '利比亚','Sri Lanka': '斯里兰卡','Lesotho': '莱索托','Lithuania': '立陶宛','Luxembourg': '卢森堡','Latvia': '拉脱维亚','Morocco': '摩洛哥','Moldova': '摩尔多瓦','Madagascar': '马达加斯加','Mexico': '墨西哥','Macedonia': '马其顿','Mali': '马里','Myanmar': '缅甸','Montenegro': '黑山','Mongolia': '蒙古','Mozambique': '莫桑比克','Mauritania': '毛里塔尼亚','Malawi': '马拉维','Malaysia': '马来西亚','Namibia': '纳米比亚','New Caledonia': '新喀里多尼亚','Niger': '尼日尔','Nigeria': '尼日利亚','Nicaragua': '尼加拉瓜','Netherlands': '荷兰','Norway': '挪威','Nepal': '尼泊尔','New Zealand': '新西兰','Oman': '阿曼','Pakistan': '巴基斯坦','Panama': '巴拿马','Peru': '秘鲁','Philippines': '菲律宾','Papua New Guinea': '巴布亚新几内亚','Poland': '波兰','Puerto Rico': '波多黎各','Dem. Rep. Korea': '朝鲜','Portugal': '葡萄牙','Paraguay': '巴拉圭','Qatar': '卡塔尔','Romania': '罗马尼亚','Russia': '俄罗斯','Rwanda': '卢旺达','W. Sahara': '西撒哈拉','Saudi Arabia': '沙特阿拉伯','Sudan': '苏丹','S. Sudan': '南苏丹','Senegal': '塞内加尔','Solomon Is.': '所罗门群岛','Sierra Leone': '塞拉利昂','El Salvador': '萨尔瓦多','Somaliland': '索马里兰','Somalia': '索马里','Serbia': '塞尔维亚','Suriname': '苏里南','Slovakia': '斯洛伐克','Slovenia': '斯洛文尼亚','Sweden': '瑞典','Swaziland': '斯威士兰','Syria': '叙利亚','Chad': '乍得','Togo': '多哥','Thailand': '泰国','Tajikistan': '塔吉克斯坦','Turkmenistan': '土库曼斯坦','East Timor': '东帝汶','Trinidad and Tobago': '特里尼达和多巴哥','Tunisia': '突尼斯','Turkey': '土耳其','Tanzania': '坦桑尼亚','Uganda': '乌干达','Ukraine': '乌克兰','Uruguay': '乌拉圭','United States': '美国','Uzbekistan': '乌兹别克斯坦','Venezuela': '委内瑞拉','Vietnam': '越南','Vanuatu': '瓦努阿图','West Bank': '西岸','Yemen': '也门','South Africa': '南非','Zambia': '赞比亚','Zimbabwe': '津巴布韦','Comoros': '科摩罗'
}
pieces = [{"min": 1000000},{"min": 100000, "max": 999999},{"min": 10000, "max": 99999},{"min": 1000, "max": 9999},{"min": 100, "max": 999},{"min": 0, "max": 99},
]
# 1. 读取数据
df = pd.read_csv('疫情数据.csv')
name = df['name'].values.tolist()
confirm = df['confirm'].values.tolist()
confirmAdd = df['confirmAdd'].values.tolist()
heal = df['heal'].values.tolist()
world_map = (Map().add('累计确诊', [list(i) for i in zip(name, confirm)], 'world', is_map_symbol_show=False, name_map=name_map).add('新增确诊', [list(i) for i in zip(name, confirmAdd)], 'world', is_map_symbol_show=False, name_map=name_map).add('治愈人数', [list(i) for i in zip(name, heal)], 'world', is_map_symbol_show=False, name_map=name_map).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title='世界疫情情况'),visualmap_opts=opts.VisualMapOpts(max_=1000000, is_piecewise=True, pieces=pieces))
)
world_map.render('world_map.html')

代码都在上面了嗷~

有什么不懂的可以动动小手添加文末名片~

我是小熊猫,咱下篇文章再见啦(✿◡‿◡)

【Python实战项目】全球疫情数据采集 + 可视化展示相关推荐

  1. 【Python实战】全球疫情数据采集, 并做可视化展示

    前言

  2. Python实战采集全球疫情数据

    嗨嗨,大家好~ 最近疫情反反复复,就一直没有消停过,之前小区被封,隔离了,上班都成问题 现在上班时间进写字楼,都只能从一个门进来,人全挤一堆啦 唉,今天就教你们 如何用Python采集全球疫情数据,并 ...

  3. ECharts项目实战:全球GDP数据可视化

    [课程简介] 可视化是前端里一个几乎可以不用写网页,但又发展得非常好的方向.在互联网产品里,无论是C端中常见的双十一购物节可视化大屏,还是B端的企业中后台管理系统都离不开可视化.国家大力推动的智慧城市 ...

  4. python有趣的小项目-有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  5. 周获 4700 Star 全球疫情数据可视化系统,超轻量级中文 OCR……GitHub 一周热点速览...

    作者 | HelloGitHub-小鱼干 来源 | HelloGitHub 摘要:连着两周成绩平平的 GitHub Trending 榜,终于和三月的天气一样进入全面变暖的模式,无论是本周刚开源搭乘 ...

  6. python项目开发实例-有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  7. python能做什么项目-这十个Python实战项目,让你瞬间读懂Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  8. 有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  9. python十个实例-有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  10. Python实战项目:基于jupyter notebook处理16年美国总统大选数据

    Python实战项目:基于jupyter notebook处理16年美国总统大选数据 设计需求说明 源码展示以及实验截图: 总结: 设计需求说明 设计任务 按照月份求两位候选人民调数据的和,用折线图反 ...

最新文章

  1. PHP - .htaccess设置显示PHP错误 (转)
  2. 机器学习:范数及代码实现
  3. GB编码与UTF8编码的转换【转载】
  4. android 图像对比,Android中比较两个图片是否一致的问题
  5. 360浏览器5兼容模式吗_个独模式真能将企业总体税负降低至5%吗,为何大家都热衷核定征收...
  6. 华为手机充满有提醒吗_2020手机充电速度排名:最快21分钟充满,华为第15名
  7. PHP在线考试系统实例源码
  8. jQuery框架学习第八天:ASP.NET jQuery实施方案
  9. 在C# 获取当前应用网址
  10. 一步一步写算法(之 可变参数)
  11. 计算机信息安全工程师教材,第二级 系统审计保护级-信息安全工程师教材
  12. Windows PowerShell命令大全
  13. Euraka学习笔记
  14. web网页实现扫描条形码(安卓+ios适配)
  15. golang报错fatal error: all goroutines are asleep - deadlock
  16. 手把手教大家实现一个电子签名
  17. 20200120 数据结构和算法之 数组循环队列的实现
  18. 使用selenium自动化操作浏览器
  19. 上海大学计算机专硕与学硕,计算机学院2017届留沪研究生学习成绩综合评定工作通知...
  20. 【asm基础】nasm和masm的一些区别

热门文章

  1. 开发人员应具备的13种技术技能
  2. 中国科学家dna计算机,我国首台DNA计算机问世
  3. 5位数的数字黑洞是多少_揭秘数字黑洞6174
  4. 电镀用整流电源设计matlab,高功率因数的大功率开关电镀电源研究
  5. 张勇2020年淘宝抓刷单模型-引进区块链技术防虚假交易
  6. 2022年最新手机处理器性能排行榜,手机处理器天梯图
  7. 14期-连肝7个晚上,总结了计算机网络的知识点!(共66条)
  8. 当当网商品详情API接口(当当商品详情接口,当当商品问答接口,当当抢购价接口,当当商品列表接口,当当商品评论接口)代码对接教程
  9. 什么是cc攻击以及个人网站遭到cc攻击的解决方法
  10. swiper半圆形旋转