python氣象衛星云圖解析_【我教你系列】想要實時的地球圖像作為桌面?

Python 定時獲取衛星圖像做為桌面背景

簡介

這兩天看新聞的時候,突然發現最近有個臺風產生,并且在不斷的增強中。幸運的是從中央氣象臺預報的路徑來看,不會登陸我國。也正是通過這則新聞,我發現了一個不錯的衛星云圖網站。(ps:這篇文章我去年寫的)

向日葵-8號實時網頁:http://himawari8.nict.go.jp/

簡單的介紹一下,向日葵-8號是日本氣象廳的一顆氣象衛星,于2014年10月7日發射。設計壽命15年以上,主要用于檢測暴雨云團、臺風動向和火山活動等防災領域。

因為是日本的網站,所以訪問的速度可能會比較慢。網頁截圖如下:向日葵-8號實時網頁

下面我將簡單的介紹一下如何將這個網站上定時更新的衛星云圖爬取下來,設置為自己的電腦桌面。這樣每時每刻你都可以關注到太平洋上空的動態了。哈哈哈哈~

實現思路

1. 獲取衛星云圖

由于這個是日本的網站,所以訪問的速度可能會有點慢。但是只要能夠正常訪問就都不是問題。首先對這個網站進行分析,可以打開firebug分析一下。通過分析可知,只要獲取圖片的鏈接,用get方法就能夠直接下載到本地了。因此要獲取這個網站的圖片是非常的簡單的,如果會一點python爬蟲知識,很容易就能夠將這張圖片爬取下來。選擇就是具體的分析一下圖片的鏈接是這么組成的呢?

例如鏈接:http://himawari8-dl.nict.go.jp/himawari8/img/D531106/thumbnail/550/2018/09/26/063000_0_0.png

鏈接分析表

好了,通過上面的分析,我們其實只要修改**衛星圖像日期**和**衛星圖像時間**就可以獲取你想要的時間段的衛星圖像圖片了。但是要注意的是,你不可能獲取未來的圖片。

接下來貼上程序:

#!/usr/bin/env python

# _*_ coding:utf-8 _*_

#

# @Version : 1.0

# @Time????: 2018/9/25

# @Author??: 圈圈烴

# @File????: NICT_download

# @Description: http://himawari8.nict.go.jp/ 向日葵8號衛星實時圖片下載

#

#

from PIL import Image

import requests

import re

import datetime

def download_img(url, img_save_path):

img = requests.get(url)

with open(img_save_path, "wb") as fwi:

fwi.write(img.content)

print(img_save_path + "圖片下載成功")

def fill_img(img, img_save_path):

width, height = 1920, 1080??????# 電腦屏幕大小

new_img = Image.new(img.mode, (width, height), color='black')

new_img.paste(img, (int(width/2 - 250), int(height/2 - 250)))

new_img.save(img_save_path)

print(img_save_path + "圖片合成成功")

def dl_main():

# 獲取當前系統時間

utc_today = datetime.datetime.utcnow() - datetime.timedelta(minutes=30)??# 獲取GMT時間并減去30分鐘

delat_utc_today = utc_today.strftime("%Y/%m/%d/%H%M")??# 時間格式化

# 分鐘向下取整

delat_utc_today_list = list(delat_utc_today)

delat_utc_today_list[-1] = "0"

delat_utc_today = "".join(delat_utc_today_list)

# 整合為鏈接 格式為:http://himawari8-dl.nict.go.jp/himawari8/img/D531106/1d/550/2018/09/25/065000_0_0.png

img_url = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/1d/550/" + delat_utc_today + "00_0_0.png"

name = delat_utc_today.replace("/", "_") + "00_0_0.png"??# 獲取圖片名字

# 圖片保存路徑

img_save_path = "Download_Picture/" + name

new_img_save_path = "Wallpaper/new_" + name

# 下載圖片

download_img(img_url, img_save_path)

# 合成圖片

img = Image.open(img_save_path)

fill_img(img, new_img_save_path)

return new_img_save_path

if __name__ == '__main__':

dl_main()

2. 設置桌面背景

成功獲取圖片之后就是將獲取的圖片設置為左面的壁紙了,我的系統是win10,親測可用。

#!/usr/bin/env python

# _*_ coding:utf-8 _*_

#

# @Version : 1.0

# @Time????: 2018/9/25

# @Author??: 圈圈烴

# @File????: Auto_Wallpaper

# @Description: 自動設置桌面壁紙

#

#

import win32api, win32con, win32gui

import NICT_Download

def set_desktop_windows(imagepath):

k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)

win32api.RegSetValueEx(k, "WallpaperStyle", 0, win32con.REG_SZ, "2")??# 2拉伸適應桌面,0桌面居中

win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0")

win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, imagepath, 1 + 2)

if __name__ == '__main__':

print("正在下載圖片")

try:

new_img_save_path = NICT_Download.dl_main()

except Exception as e:

print(e)

# 這里的路徑必須為絕對路徑

wallpaper_path = "D:\\Users\\Administrator\\Documents\\Python Files\\Auto_Background\\" + new_img_save_path

set_desktop_windows(wallpaper_path)

3. 開啟定時更新

為了實現能夠定時更新桌面的衛星圖像,我們需要設置定時任務。通過分析可知,[向日葵-8號實時網頁](http://himawari8.nict.go.jp/)每隔10分鐘會更新圖片,所以我們也設置為10分鐘更新一次。

詳見我的視頻:

【我教你系列】想要實時的地球圖像作為桌面?我教你

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370285.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS權重的比較方法

CSS的權重如下&#xff1a; !important Infinity正無窮 行間樣式 1000 id 100 class|屬性|唯類 10 標簽|偽元素 1 通配符 0 256進制 當出現多個選擇器時 在同一行的選擇器權重相加即可 當兩個混合選擇器權重相同時優先選擇后面的選擇器 如&#xff1a; html <…

python_day8 面向對象常用 補充

__str__ 作用本來 打印 類對象是 打印的內存地址 但是在類中 增加 __str__ 參數 以后 再打印這個 類對象 就是顯示 __str__中的 return __del__作用 當 實例化的對象 在內存中 被釋放的時候執行 item操作通過 set get del 操作 item最終目的是將 類里面的 變量 像 字典一樣操作…

Spring中的@Cacheable開銷

Spring 3.1引入了很棒的緩存抽象層 。 最后&#xff0c;我們可以放棄所有本地化的方面&#xff0c;裝飾器和污染我們與緩存相關的業務邏輯的代碼。 從那時起&#xff0c;我們可以簡單地注釋重量級方法&#xff0c;并讓Spring和AOP機械完成工作&#xff1a; Cacheable("bo…

電工接線模擬仿真軟件_VERICUT數控加工仿真軟件,最強的數控加工模擬軟件,你知道么?...

VERICUT數控加工仿真軟件,最強的數控加工模擬軟件VERICUT軟件及功能簡介1、VERICUT軟件簡介VERICUT是美國CGTech公司開發一款專業的數控加工仿真軟件&#xff0c;是當前全球數控加工程序驗證、機床模擬、工藝程序優化軟件領域的領導者。該軟件自1988年開始推向市場以來&#xf…

php數據庫創建文件失敗怎么回事,安裝zblogPHP提示“創建c_option.php失敗”解決方法...

有zblog用戶反應在安裝zblog的最后一步時提示“創建c_option.php失敗”&#xff0c;如下圖&#xff1a;本文來說明下這個問題的原因和解決辦法。問題產生的原因&#xff1a;c_option.php是zblog的數據庫配置文件&#xff0c;當安裝完成的時候程序會自動創建這個文件。如果你的主…

一次搞清楚Mysql聯合索引,以及聯合索引究竟用了多少

一群DBA朋友聊天&#xff0c;突然拋出一個某公司聯合索引的面試題&#xff0c;當時好多人都蒙了&#xff0c;這次針對這個問題&#xff0c;做了個簡單的實驗&#xff0c;把聯合索引的作用一次搞清楚 問題大概是這樣的&#xff0c;聯合索引&#xff08;a,b,c,d&#xff09;下面這…

CSS Variables

CSS原生變量(CSS自定義屬性) 示例地址&#xff1a;https://github.com/ccyinghua/Css-Variables 一、css原生變量的基礎用法 變量聲明使用兩根連詞線"--"表示變量&#xff0c;"$color"是屬于Sass的語法&#xff0c;"color"是屬于Less的語法&a…

【基礎中的基礎】引用類型和值類型,以及引用傳遞和值傳遞

一直在博客園懟人&#xff0c;非常慚愧。所以鄭重決定&#xff1a; 好好寫一篇干貨&#xff0c;然后再接著懟人。 這是一起幫上陳百萬同學的求助&#xff0c;講了一會之后&#xff0c;我覺得很有些普世價值&#xff0c;干脆就發到園子來。面向小白&#xff0c;高手輕拍。 我們從…

Java 7:使用NIO.2進行文件過濾–第3部分

大家好。 這是使用NIO.2系列進行文件過濾的第3部分。 對于那些尚未閱讀第1 部分或第2部分的人 &#xff0c;這里有個回顧。 NIO.2是自Java 7起JDK中包含的用于I / O操作的新API。使用此新API&#xff0c;您可以執行與java.io相同的操作&#xff0c;以及許多出色的功能&#xf…

python眾數問題給定含有n個元素的多重集合s_分治法求眾數 給定含有n個元素的多重集合S 聯合開發網 - pudn.com...

分治法求眾數所屬分類&#xff1a;數據結構開發工具&#xff1a;C/C文件大小&#xff1a;240KB下載次數&#xff1a;3上傳日期&#xff1a;2018-01-04 20:19:09上 傳 者&#xff1a;九鼎說明&#xff1a; 給定含有n個元素的多重集合S&#xff0c;每個元素在S中出現的次數稱為該…

mysql 5.0 亂碼,解決MySQL 5.0.16的亂碼問題

導讀&#xff1a;問&#xff1a;怎樣解決MySQL 5.0.16的亂碼問題?答&#xff1a;MySQL 5.0.16的亂碼問題可以用下面的方法解決&#xff1a;1.設置phpMyAdminLanguage:Chinese simplified (zh-utf-8)MySQL 字符集&#xff1a;UTF-8 Unicode (utf8)MySQL 連接校對 gbk_chinese_c…

Hadoop Serialization -- hadoop序列化具體解釋 (2)【Text,BytesWritable,NullWritable】

回想&#xff1a;回想序列化&#xff0c;事實上原書的結構非常清晰&#xff0c;我截圖給出書中的章節結構&#xff1a;序列化最基本的&#xff0c;最底層的是實現writable接口&#xff0c;wiritable規定讀和寫的游戲規則 &#xff08;void write(DataOutput out) throws IOExce…

我需要多少個線程?

這取決于您的應用程序。 但是對于那些希望對如何從生產站點購買的所有昂貴內核中擠出更多資金的人來說&#xff0c;請多多包涵&#xff0c;我將闡明圍繞多線程 Java應用程序的奧秘。 內容針對最典型的Java EE應用程序進行了“優化”&#xff0c;該應用程序具有Web前端&#xff…

H5網頁適配 iPhoneX,就是這么簡單

iPhoneX 取消了物理按鍵&#xff0c;改成底部小黑條&#xff0c;這一改動導致網頁出現了比較尷尬的屏幕適配問題。對于網頁而言&#xff0c;頂部&#xff08;劉海部位&#xff09;的適配問題瀏覽器已經做了處理&#xff0c;所以我們只需要關注底部與小黑條的適配問題即可&#…

python為什么closed_為什么python類的函數被調用兩次[關閉](Why a function of python class is called twice [closed])...

為什么python類的函數被調用兩次[關閉](Why a function of python class is called twice [closed])我遇到了兩次調用的python類函數的問題。 我正在使用Spyder IDE。這是我的簡單代碼class Test:def f(self):print("a")from Test import *t Test()t.f()當我按“運行…

php關聯數組和哈希表,php遍歷哈希表及關聯數組的實例代碼

有關php數組的分類&#xff0c;PHP數組分為&#xff1a;數字索引數組和關聯數組。其中數字索引數組和C語言中的數組一樣&#xff0c;下標是為0&#xff0c;1&#xff0c;2…而關聯數組下標可能是任意類型&#xff0c;與其它語言中的hash&#xff0c;map等結構相似。PHP遍歷關聯…

數字校園-云資源平臺 2014.10.26-人人通共享空間

近期,教育部在統計學校信息化建設情況,當中一項重要內容,作為三通兩平臺的一個環節,就是學校開通人人通空間的情況,網上普及了一下知識,不就是十多年前就玩的學校博客的變種嗎,網上有一些產品,也是沒有熱鬧起來,為要求而要求的多,既然要求,就來一個吧,花了幾天時間,也做了一個.…

VUE.js 中取得后臺原生HTML字符串 原樣顯示問題

今天使用vue調試頁面&#xff0c;發現了頁面上的一個問題&#xff0c;后臺數據傳過來的HTML字符串并沒有被轉換為正常的HTML代碼&#xff0c;一拍腦門&#xff0c;發現忘記轉換了&#xff0c;于是滿心歡喜加上了{{{}}}。但是之后構建發現報錯&#xff1a; 為此去官網上查了下…

高性能持久消息

總覽 盡管有許多可用于Java的高性能消息傳遞系統&#xff0c;但大多數都避免引用基準&#xff0c;包括持久消息傳遞和消息的序列化/反序列化。 這樣做有很多原因。 1&#xff09;您并不總是需要或想要持久消息2&#xff09;您希望使用自己的序列化選項。 避免使用它們的一個重要…

python去掉重復內容并按原來次序輸出元素_在Python中,從列表中刪除重復項以使所有元素在保留順序時都是唯一的最快的算法是什么?...

飲歌長嘯使用方法&#xff1a;lst [8, 8, 9, 9, 7, 15, 15, 2, 20, 13, 2, 24, 6, 11, 7, 12, 4, 10, 18, 13, 23, 11, 3, 11, 12, 10, 4, 5, 4, 22, 6, 3, 19, 14, 21, 11, 1, 5, 14, 8, 0, 1, 16, 5, 10, 13, 17, 1, 16, 17, 12, 6, 10, 0, 3, 9, 9, 3, 7, 7, 6, 6, 7, 5, 1…