天天看点

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

 概述

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

开搞

开发工具

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 + ext
  res = 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