Python自动更换电脑壁纸

Python自动更换电脑壁纸插图

其原理:通过Python爬虫拿到图片保存到本地,让后通过命令进行将图片更换成刚刚保存的图片

源代码:

import ctypes
import urllib.request
import json
import getpass
import time

def get_bing_photo(num):
    url = "http://www.bing.com/HPImageArchive.aspx?format=js&idx="+str(num+100)+"&n=1"
    print(url)
    res = urllib.request.urlopen(url)
    json_txt = res.read()
    txt = json.loads(json_txt)
    url = 'https://www.bing.com/' + txt['images'][0]['url']
    return url

def set_photo(url, num):
    photo = urllib.request.urlopen(url)
    d = photo.read()
    dizhi = "C:\\Users\\" + str(getpass.getuser()) + "\\Pictures\\" + str(num) + ".jpg"
    # print(dizhi)
    f = open(dizhi, "wb")
    f.write(d)
    f.close()
    filepath = dizhi
    ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0)

if __name__ == "__main__":
    i = 1
    while True:
        # 使用unsplash的随机高清图
        url = 'https://source.unsplash.com/random/4096x2160'
        # 使用bing接口
        # url = get_bing_photo(i)
        i += 1
        # 下载的图片保存地址
        f = open("C:\\Users\\" + str(getpass.getuser()) + "\\Pictures\\tmp", 'a+')
        f.seek(0)
        num = f.read()
        if num == '':
            num = '0'
        f.seek(0)
        f.truncate()
        num = int(num) + 1
        f.write(str(num))
        f.close()
        set_photo(url, num)
        # 设置更改壁纸的时间,每隔100秒换一张
        time.sleep(100)

小编已经生成exe文件,使用时双击打开就可以了

站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
欧资源网 » Python自动更换电脑壁纸

发表评论

提供最优质的资源集合

立即查看 了解详情
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡