【源码+软件】python下载壁纸,每天自动更新电脑壁纸
前言
今天使用写了一个图片下载的小软件,并且把下载后的图片设置为电脑壁纸。
实现代码(懂开发的小伙伴可以拿走)
import os
import ctypes
import urllib.request
import json
from datetime import date
import sys
def grabImage(url, filename=""):if url == "":return False # 如果url地址为空,直接退出if filename == "": # 如果没有指定新的文件名ext = os.path.splitext(url)[1] # 得到url的图片格式filename = date.today().strftime("%Y%m%d") + ext # 用年月日来命名新的文件名with urllib.request.urlopen(url) as response:img = response.read() # 读取图片文件with open(filename, "wb") as fp2:fp2.write(img) # 向当前目录写入图片文件,并重新命名return filename # 返回新的文件名path = './wallpapers' # 设置图片缓存文件夹
filename = date.today().strftime("%Y%m%d") + '.jpg' # 用年月日来命名新的文件名if not os.path.exists(os.path.join(path, filename)): # 如果文件不存在,则说明今天还没有进行缓存if not os.path.exists(path): # 如果目录不存在os.mkdir(path) # 创建缓存目录response = urllib.request.urlopen('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1') # 读取必应api,获得相应数据data = json.loads(response.read().decode('utf-8'))imgurl = 'https://cn.bing.com' + data['images'][0]['url'] # 获取图片urlimg = grabImage(imgurl, os.path.join(path, filename)) # 读取并保存图片# 设置壁纸
SPI_SETDESKWALLPAPER = 0x0014
ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, os.path.abspath(os.path.join(path, filename)), 3)# 关闭命令行窗口
ctypes.windll.kernel32.FreeConsole()
sys.exit(0)
开启定时任务
开启定时任务,开机自动执行程序,释放双手,开机就能看到当天最新壁纸啦
如果看不懂,大家也可以百度,电脑如何开启定时任务,执行指定软件
建议登录时执行,这样开机就能看到最新的壁纸了
到这里定时任务设置完毕。
如果出现下面这种情况,请记得文件权限要给够,不懂设置的自行百度
软件下载
这里为大家打包成exe文件,下载在电脑系统就能使用
仅适合系统
.exe官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘
提取码:5FEs