Python分析並繪製可視化動態地圖,實時查詢全球疫情數據(11月最新...)

来源:https://www.cnblogs.com/Qqun261823976/archive/2022/11/08/16871464.html
-Advertisement-
Play Games

前言 大家早好、午好、晚好吖~ 最近,又爆出了許多例,身在長沙得我前段時間不是在做核酸就是在做核酸得路上 雖然現在還是隔一天一捅(小聲嗶嗶:我真的遭不住)希望疫情早日過去 疫情尚未結束,我們需要做好自己,時刻防範,不給別人添麻煩。 今天我們來嘗試用Python抓取世界疫情,實現可視化地圖展示。 採集 ...


前言

大家早好、午好、晚好吖~

最近,又爆出了許多例,身在長沙得我前段時間不是在做核酸就是在做核酸得路上

雖然現在還是隔一天一捅(小聲嗶嗶:我真的遭不住)希望疫情早日過去

疫情尚未結束,我們需要做好自己,時刻防範,不給別人添麻煩。

今天我們來嘗試用Python抓取世界疫情,實現可視化地圖展示。

採集數據

1、數據來源

數據來源於TX新聞,鏈接展示不了,就只貼圖了。

2、模塊

import requests  
import csv   

 

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")
)
國家地區

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': '蘇利南',
    '
              
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一.商品列表 1.1 獲取數據 首先能夠進入商品列表的途徑 傳的數據有 瞭解了這個之後就可以開始了,先創建分支 創建編譯模式,並分配初試數據 這個時候就可以獲取數據了 需要的數據 所以在發起請求之前需要整理一下數據,先定義數據 整理數據發起請求 1.2 渲染頁面 ==註意我們可以去定義一個預設的圖片 ...
  • 本文主要記錄 Vue.js 中的 router 管理,涉及如何使用路由實現單頁面應用(SPA)的組件切換,以及路由的一些 API 操作。 ...
  • 1、表單語法 method: 規定如何發送表單數據常用值:get post 在實際網頁開發中通常採用post方式提交表單數據 action: 表示向何處發送表單數據 <form method="post" action="result.html"> <p>名字:<input name="name" ...
  • 1、列表 無序列表和定義列表在網頁製作中應用非常廣泛 什麼是列表: 列表就是信息資源的一種展示形式。它可以使信息結構化和條理化,並以列表的樣式顯示出來,以便瀏覽者能更快捷地獲得相應的信息。 無序列表 <!--ul 聲明無序列表--> <ul> <!--li 聲明列表項--> <li>語文</li> ...
  • 面向對象之魔法方法 一、魔法方法的概念 ​ 定義在類中的雙下方法都可以稱為魔法方法 ​ 不需要人為調用,在特定的條件下會自動觸發,並運行 ​ 類似於__ init__, 當我在使用類產生對象時,會自動觸發 class Foo: # 雙下init就是魔法方法的一種 def __init__(self, ...
  • 職責鏈模式是一種與策略模式類似的設計模式,都是使用多個對象去處理同一個請求。不同的是,職責鏈模式針對的一條鏈路上的所有對象,而不是“非此即彼”的關係。 ...
  • 派生方法實戰 ​ 以上我們學習了通過super()的方法可以重寫父類、額外添加父類中的數據,下麵將通過實戰案例來講述super()方法來重寫、添加父類中的功能代碼 需求: 1、使用json格式,序列化字典d d = { 't1': datetime.date.today(), 't2': datet ...
  • 簡介: 代理模式,是結構型的設計模式。用於為其它對象提供一種代理以控制對這個對象的訪問。 目標對象可以是遠程的對象、創建開銷大的對象或需要安全控制的對象,並且可以在不改變目標對象的情況下添加一些額外的功能。 適用場景: 調用端不想或不能直接調用的對象。 服務端不想讓調用端看到核心實現。 優點: 服務 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...