本文主要是介绍python爬取FY-4作为桌面背景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先上个效果,桌面只有个回收站,找了个FY-4的图片扣了下图,做成了ico图标,然后把回收站名字给搞了。卫星配自己拍的图,有点意思。
FY-4每小时图像来源如下,只要每隔一个小时拉它就行了→http://img.nsmc.org.cn/CLOUDIMAGE/FY4A/MTCC/FY4A_DISK.JPG
东抄西抄,自己改改,代码如下
import requests
import os
import win32api, win32con, win32gui
from PIL import Image
import numpy as np
import time# 爬取风云四数据
def _get_fy_img():url = 'http://img.nsmc.org.cn/CLOUDIMAGE/FY4A/MTCC/FY4A_DISK.JPG'res = requests.get(url)# 保存壁纸with open('background.jpg', 'wb') as f:f.write(res.content)# 设置为壁纸
def set_background(imgpath):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, imgpath, win32con.SPIF_SENDWININICHANGE)# 图像获取和处理
def get_and_deal_img():bk_path = 'background.jpg'# 读图像(图像形状:2198,2198,3)bk_img = np.array(Image.open(bk_path))# 删除图像os.remove(bk_path)## 处理水印# 左上水印bk_img[0:174, 0:447, :] = 0# 右下水印bk_img[1970:2198, 1970:2198, :] = 0# 扩展壁纸到电脑显示器大小bk_img = Image.fromarray(np.uint8(bk_img))# 缩放到720*720,铺满电脑或者露个半截有啥好看的bk_img = bk_img.resize((720, 720), Image.ANTIALIAS)# 电脑屏幕大小那么大的0图片bks_img = np.zeros((1080, 1920, 3))# 中间换了bks_img[180:900, 600:1320, :] = bk_img# 重新保存图像Image.fromarray(np.uint8(bks_img)).save(bk_path)# 加载桌面path = os.getcwd()set_background(os.path.join(path, bk_path))if __name__ == '__main__':get_and_deal_img()
完事儿弄个啥windows的计划任务,一个小时来一发就行了。
-
win+R,输入taskschd.msc,创建任务
-
设置好名字介绍啥的
-
设置触发器,1个小时触发1次,循环
-
设置运行的脚本,脚本里面就写上这个就行,第一个E:表示py文件在e盘,第二个cd到py文件的路径下,然后用pythonw运行这个.pyw文件(我的文件名叫FY-4.pyw)。
注:将.py改成.pyw,使用pythonw运行可以不出现黑框界面
@echo offE:cd E:\MyData\scriptpythonw FY-4.pyw
- 程序和脚本是bat脚本的全路径
- 起始于是bat脚本的路径,不包括XX.bat
ok
这篇关于python爬取FY-4作为桌面背景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!