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分钟更新一次。

详见我的视频:

【我教你系列】想要实时的地球图像作为桌面?我教你

python气象卫星云图解析_【我教你系列】想要实时的地球图像作为桌面?相关推荐

  1. python气象卫星云图解析_使用 PyQt 滚动播放卫星云图

    自从 和 GNOME 开发者接触过 之后,我决定放弃断断续续学了一段时间的 GTK 而转向 Qt 了.看了两三天的 PyQt4 tutorial ,恰好遇到一需要界面的脚本,本来我会搞成 Web 的, ...

  2. python selenium右键另存为_手把手教你系列练习篇之1python+ selenium自动化测试(详细教程)...

    1.简介 相信各位小伙伴或者同学们通过前面已经介绍了的Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是 一只脚已经迈入这个门 ...

  3. python numpy安装教程_手把手教你搭建机器学习开发环境—Python与NumPy的超简安装教程...

    手把手教你搭建机器学习开发环境Python语言是机器学习的基础,所以,想要入门机器学习,配置好Python的开发环境是第一步.本文就手把手的教你配置好基于Python的机器学习开发环境.超简单!第一步 ...

  4. python气象绘图速成_基于Python气象数据处理与可视化分析

    基于 Python 气象数据处理与可视化分析 张鑫 ; 曹蕾 ; 韩基良 [期刊名称] <气象灾害防御> [年 ( 卷 ), 期] 2020(027)001 [摘要] 全国综合气象信息共享 ...

  5. python pyc文件解析_如何反编译pyc文件

    如何将.pyc和.pyo文件反编译为.py文件 pyc大约在python2刚出的时候有.后来就很少找得到了.有一次,不小心把.py删除了,通过pyc还把代码还原了. 你搜索uncompyle2, de ...

  6. python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...

    你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情: 对象检测 图像分割 图像翻译 对象跟踪(实时),还有更多-- 这让我思考--如果一个图像中有多个对象类别,我们该怎么办?制作一个图像分类 ...

  7. python k线合成_手把手教你写一个Python版的K线合成函数

    手把手教你写一个Python版的K线合成函数 在编写.使用策略时,经常会使用一些不常用的K线周期数据.然而交易所.数据源又没有提供这些周期的数据.只能通过使用已有周期的数据进行合成.合成算法已经有一个 ...

  8. python自助电影售票机_手把手教你用python抢票回家过年(代码简单)

    首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就 ...

  9. python进行数据预测_手把手教你用Python进行时间序列分解和预测

    原标题:手把手教你用Python进行时间序列分解和预测 作者:Mohit Sharma 翻译:数据派THU-王闯(Chuck) 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列 ...

  10. python时间序列动图_手把手教你用Python进行时间序列分解和预测

    来源:数据派THU(ID:DatapiTHU) ▔ 作者:Mohit Sharma 翻译:王闯(Chuck) 校对:王可汗 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测 ...

最新文章

  1. Bitmap上下合成图片
  2. java-Java可以对方法进行序列化?
  3. 数据库-优化-每个字段的说明
  4. iOS 深入解析之NSArray
  5. 微软开源基于.NET Core的量子开发工具包 QDK
  6. Linux下ejabberd安装配置
  7. 台式计算机固定资产属于哪类,电脑属于固定资产的哪一类
  8. js如何处理后台传递过来的Map
  9. spark学习-34-Spark的BroadcastManager广播管理器
  10. mybatis 自动生成integer_通过mybatis-generator-core工具自动关联表生成对应model、mappers及dao层代码类完整教程...
  11. android权限申请方法,安卓开发Android6+权限申请管理用户拒绝权限一键解决方案...
  12. 数据分析学习笔记—文件处理与pdf处理
  13. Coin3D三维可视化教程1
  14. 切向量,法向量,梯度
  15. 大数据技术Spark详解
  16. 山东理工大学SDUT - ACM OJ 题: Python代码 及分析
  17. 使用栈进行括号匹配的判断
  18. 简单笔记(rsrp/mbps/session/dialog/dbm)
  19. 一个投资人必须具备的心理素质 心理素质如何培养
  20. pureMVC 之 系统框架

热门文章

  1. 如何使用html写一个简单的登录页面
  2. ubuntu安装freeradius3, freeradius3-mysql并配置
  3. 汉诺塔实例python_python递归版汉诺塔实例 python汉诺塔递归算法
  4. Web App - MUI框架初体验
  5. VS2003远程调试
  6. 数据库管理系统的未来是什么?
  7. 自动驾驶之轨迹规划5——Apollo规划中的离散点曲线平滑数学原理
  8. ACM入门之新手入门
  9. 【定制开发】【M3】基于Python+pygame实现的人机AI对战五子棋游戏(保姆级入门讲解)
  10. pdf打印机如何加入背景