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.mzph.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…