Win10每天自动更换必应每日图片作为壁纸

必应搜索官网每天都会选取一幅高清美图作为背景,如何让自己的电脑每天同步必应每日图片作为桌面背景呢?
下面用python脚本抓取必应每日图片的方法,实现桌面壁纸的每天自动切换。

  • 首先确保电脑安装了python,并且安装了requests模块,安装方法自行必应(python3默认安装了pip,这时只需在cmd中pip install requests即可安装requests)。
  • 新建文本文件,保存为SetBingImageAsWallpaper.py ,脚本内容如下:
import urllib.request
import requests         
import os.path
import ctypes

def save_img(img_url,dirname):
    #保存图片到磁盘文件夹dirname中
    try:
        if not os.path.exists(dirname):
            print ('文件夹',dirname,'不存在,重新建立')
            #os.mkdir(dirname)
            os.makedirs(dirname)
        #获得图片文件名,包括后缀
        basename = "bingImage"
        #拼接目录与文件名,得到图片路径
        filepath = os.path.join(dirname, basename)
        #下载图片,并保存到文件夹中
        urllib.request.urlretrieve(img_url,filepath)
    except IOError as e:
        print ('文件操作失败',e)
    except Exception as e:
        print ('错误 :',e)
    print("Save", filepath, "successfully!")

    return filepath

# 请求网页,跳转到最终 img 地址
def get_img_url(raw_img_url = "https://area.sinaapp.com/bingImg/"):
    r = requests.get(raw_img_url)       
    img_url = r.url # 得到图片文件的网址
    print('img_url:', img_url)
    return img_url

# 设置图片绝对路径 filepath 所指向的图片为壁纸
def set_img_as_wallpaper(filepath):
    ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0)

def main():
    dirname = "g:\\bingImg"       # 图片要被保存在的位置
    img_url = get_img_url()
    filepath = save_img(img_url, dirname)   # 图片文件的的路径
    set_img_as_wallpaper(filepath)

main()

其中你只需更改倒数第5行图片的保存位置。
注:本脚本程序copy自https://blog.csdn.net/icevmj/article/details/78890552若侵权联系删

  • 在python脚本的同一目录下创建名为Py_BingImg.bat的批处理文件,批处理内容如下:
@echo off
del g:\bingImg\*.jpg
python SetBingImgAsWallpaper.py

第二行在运行python脚本前先删除前一天下载的必应图片,这样就实现了旧壁纸的每日清理,最大限度节省了存储空间。第三行为运行上面的python脚本。

  • 如何实现壁纸的自动切换呢,这里采用开机运行上面的批处理程序的方法。
    复制上面创建的批处理文件,到C:\User\yourname\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动目录下,右键-粘贴为快捷方式。这样就实现了开机启动批处理程序,自动清除和更新壁纸。
    (每次开机都执行一遍更换壁纸的操作还不够完美,可以用Windows任务计划程序来添加任务,设置每天指定时间点运行批处理程序)

你可能感兴趣的:(Win10每天自动更换必应每日图片作为壁纸)