你见过卫星眼里的地球吗?带你实时获取地球卫星图并设为桌面背景!真的很美!

news/2024/10/18 2:34:14/

 概述

      为什么会突然写这样的一个脚本呢?因为今天同事突然说到:宇宙这么大,我们人这么渺小,那么在别人眼里我们的地球是什么样子的?问到这个话题我想很多人都会想起地球仪或者一系列的电视剧!蓝白相间是吧!所以今天实时获取地球卫星图,设置为咱们的电脑桌面,这样就可以无时无刻看到它的变化!废话不多说,让我们愉快地开始吧~

开搞

开发工具

Python版本:3.6.4

相关模块:

requests模块;

pywin32模块;     

安装这些模块就不用多说了吧!直接pip就可以了!每次怕新手不会,所以多说一些哈!

原理

首先,我们需要爬取当前的地球卫星图,然后再把爬取到的地球卫星图设为桌面背景,最后实现每隔一段时间重复以上两个步骤。

OK,理清思路就可以开始干了~

这里,我们选择从日本himawari-8气象卫星官网爬取地球卫星图:

http://himawari8.nict.go.jp/

简单抓包可以发现某时刻的地球卫星图网页链接如下图所示:

图片

​​

即构成规则为:

http://himawari8-dl.nict.go.jp/himawari8/img/D531106/1d/550/ + GMT时间_0_0.png

注意,某时刻的地球卫星图更新到该网站上是有时延的(约一小时),且每隔十分钟更新一张新拍到的地球卫星图,因此我们的爬虫代码实现如下:

'''爬取壁纸'''
def crawlWallpaper(cache_dir='download'):checkDir(cache_dir)url_base = 'http://himawari8-dl.nict.go.jp/himawari8/img/D531106/1d/550/'date = datetime.datetime.utcnow().strftime('%Y/%m/%d/')# 卫星图更新到网站上是有时延的hour = str(int(datetime.datetime.utcnow().strftime('%H')) - 1).zfill(2)minute = str(datetime.datetime.utcnow().strftime('%M'))[0] + '0'second = '00'ext = '_0_0.png'picture_url = url_base + date + hour + minute + second + extres = requests.get(picture_url)with open(os.path.join(cache_dir, 'cache_wallpaper.png'), 'wb') as f:f.write(res.content)

OK,现在我们已经爬取到了算是“最新”的地球卫星图了,接下来就是调用pywin32模块实现自动换电脑壁纸功能了。具体而言,代码实现如下:

'''换壁纸'''
def setWallPaper(imagepath='download/cache_wallpaper.png'):keyex = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)win32api.RegSetValueEx(keyex, "WallpaperStyle", 0, win32con.REG_SZ, "0")win32api.RegSetValueEx(keyex, "TileWallpaper", 0, win32con.REG_SZ, "0")win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, imagepath, win32con.SPIF_SENDWININICHANGE)

最后,如何让电脑每隔十分钟就运行一次上面的程序呢?

写个死循环?那好像有点蠢?

其实我们只需要在windows上设置个定时任务就可以啦~下面以win10为例说明设置方式:

① 打开任务计划程序

注:win+R键,然后输入taskschd.msc回车运行就行了~

图片

② 创建任务

图片

③ 新建触发器

图片

④ 新建操作

图片

最后点击确定就OK啦~

注:把写好.py文件后缀改成.pyw就得到earchWallpaper.pyw文件了

效果

  ​​​

​​

是真的很美,希望能有机会能亲眼看一下这样的地球,就像宇航员那样!说不定上去一趟还能治好我的脱发问题!

需要完整代码,教程的

①兼职交流,行业咨询、大佬在线专业解答

②Python开发环境安装教程

③Python400集自学视频

④软件开发常用词汇

⑤Python学习路线图

⑥3000多本Python电子书

如果你用得到的话可以直接拿走,点击领取。不方便点链接的加群:948351247

 


http://www.ppmy.cn/news/598196.html

相关文章

园区网络IP地址规划

笔者当年先后考取了CCNA、CCNP、CCIE; 经过这些年工作,接触从几万、几十万到上亿的项目都有; 我简单总结了接触的大部分的项目,将园区网核心技术进行了归纳,如下: IP地址规划 1.IP地址基础 在IP网络中&…

1985-2020(8个版次)全球地表覆盖下载与介绍

前期关于地表覆盖我们已经介绍了较多的内容,也给大家分享过2000、2010、2020年30米的地表覆盖,那这次我们来介绍一个1985、1990、1995、2000、2005、2010、2015、2020年的地表覆盖,把时间跨度拉大,让大家的研究更加方便哦。请看下…

地球村网友总结的地球币2019年倒霉的5件事!

地球村网友总结的地球币2019年倒霉的5件事! 1,回忆了一下,2019年,网友开发的比特汪手机APP做了几个月,但是APP又没有做出去。连部分网友们的地球币都没有提出来,深表遗憾!希望我们以后少遇到点这样的事。 2&#xff0c…

社会万象]从全球夜间卫星地图看世界和国内各地发达程度(转载)

社会万象]从全球夜间卫星地图看世界和国内各地发达程度(转载) Google地图的夜间模式从客观上反映了各地区的发达程度。(各省市之争可以平息啦)在Google Earth的NASA city lights打钩就可 以看到全球夜间卫星地图了。下面是美国和欧洲的夜间卫星地图。还有一张亚洲&#xff…

Google Earth Engine(GEE)——2019年数字地球非洲的耕地范围地图

数字地球非洲的耕地范围地图非洲2019年 这些地图显示了2019年1月至12月期间以下国家耕地的估计位置,其中耕地被定义为至少0.01公顷(单个10米10米像素)的土地,在播种/种植日期后的12个月内至少可收获一次。还指出,"…

Google Earth Engine(GEE)——Facebook网配电网地图

脸谱网配电网地图 Facebook制作了一个模型,帮助绘制全球中压(MV)电网基础设施,即连接高压输电基础设施和为消费者服务的低压配电的配电线路。这里的数据是六个选定的非洲国家的模型输出:马拉维、尼日利亚、乌干达、刚果…

全中国一共有多少IP地址?

今天要聊的话题是关于IP地址。 IP地址 因为我平时会弄个小程序,搭个网站博客之类的,所以在购买云服务器的时候,一般会再申请一个公网IP。 看着申请到的IP地址,我突然想到了一个问题:不是早就说IP地址已经耗尽了吗&…

地理空间技术改变世界的未来

摘要: 地理空间技术是一项重大的科学发现,它将人类的可能性推向了一个全新的水平。那么什么是地理空间技术呢?事实上,它与普通的空间数据不同,地理空间技术的创新使我们能够确定物体或人在地球上的确切位置。人们将地理空间技术应…