美文网首页工具工具癖
Win10每天自动更换必应每日图片作为壁纸

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

作者: 原新街的猫 | 来源:发表于2018-04-01 01:19 被阅读1527次

    必应搜索官网每天都会选取一幅高清美图作为背景,如何让自己的电脑每天同步必应每日图片作为桌面背景呢?
    下面用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 = os.path.basename(img_url)
            #拼接目录与文件名,得到图片路径
            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每天自动更换必应每日图片作为壁纸

        本文链接:https://www.haomeiwen.com/subject/ecfocftx.html