【源码+软件】python下载壁纸,每天自动更新电脑壁纸

前言

今天使用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']  # 获取图片url
    img = 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文件,下载在window电脑系统就能使用

仅适合window系统

wallpapers.exe官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

提取码:5FEs

猜你喜欢

转载自blog.csdn.net/weixin_42100033/article/details/131568688