百木园-与人分享,
就是让自己快乐。

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

疫情尚未结束,我们需要做好自己,时刻防范,不给别人添麻烦。

今天我们来尝试用Python抓取世界疫情,实现可视化地图展示。

话不多说直接开搞!

采集数据

1、数据来源

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

 

 

2、模块

import requests  
import csv   
# Python学习交流君羊:279199867

 

requests 发送请求模块, 是第三方模块,需要手动安装。

win + r输入cmd按回车打开命令提示符窗口,使用pip安装

csv 是内置模块,无需安装。

pip install requests 

 

3、代码展示

获取网页url ,我这里网址屏蔽了,不然不给过。

url = \'https://****com/newsqa/v1/automation/modules/list?modules=FAutoCountryConfirmAdd,WomWorld,WomAboard\'

 

发送请求

response = requests.post(url)

 

获取数据

json_data = response.json()

 

解析数据

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

 

保存数据

f = open(\'疫情数据.csv\', mode=\'a\', encoding=\'utf-8\', newline=\'\')
csv_writer = csv.writer(f)
    csv_writer.writerow([name, confirm, confirmAdd, heal, dead])

 

4、效果展示

采集过程

保存好的数据

数据可视化

1、效果展示

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

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

2、代码展示

模块

import pandas as pd  # 做表格操作的模块
from pyecharts.charts import Map  # 绘图的模块
from pyecharts import options as opts

 

导入数据

 

df = pd.read_csv(\'疫情数据.csv\')
name = df[\'name\'].tolist()
confirm = df[\'confirm\'].tolist()
print(name)
print(confirm)
c = (
    Map(init_opts=opts.InitOpts(width=\'1400px\', height=\'600px\'))
        .add(\"累计确诊\", [list(z) for z in zip(name, confirm)], \"world\", name_map=name_map, is_map_symbol_show=False)
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
        title_opts=opts.TitleOpts(title=\"Map-世界地图\"),
        visualmap_opts=opts.VisualMapOpts(max_=1000000, is_piecewise=True, pieces=pieces),
    )
        .render(\"map_world.html\")
)
# 完整代码及国内疫情数据抓取代码、视频讲解直接在Python学习交流群 279199867 自取即可。

 

国家地区

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},
]

 

写在最后

好了,今天的分享就差不多到这里了。

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些大兄弟们,我上传了几套视频教程分享在下方,希望对大家有所帮助。

Python零基础入门全套教程

Python进阶全套教程

Python实战100例

当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。


来源:https://www.cnblogs.com/hahaa/p/16851220.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Python采集疫情数据,绘制可视化动态地图,实时查询疫情数据!

相关推荐

  • 暂无文章