当前位置:首页 > 科技  > 软件

用Python下载壁纸并自动更换桌面

来源: 责编: 时间:2023-11-07 17:17:11 405观看
导读今天我们继续用Python写一个小工具,一方面实现壁纸自由,另一方面实现桌面更换自由!壁纸 API我们这里使用一个开源在 GitHub 上的必应壁纸 API 作为壁纸的来源https://github.com/zenghongtu/bing-wallpaper图片从 readme

今天我们继续用Python写一个小工具,一方面实现壁纸自由,另一方面实现桌面更换自由!Qvs28资讯网——每日最新资讯28at.com

壁纸 API

我们这里使用一个开源在 GitHub 上的必应壁纸 API 作为壁纸的来源Qvs28资讯网——每日最新资讯28at.com

https://github.com/zenghongtu/bing-wallpaperQvs28资讯网——每日最新资讯28at.com

图片图片Qvs28资讯网——每日最新资讯28at.com

从 readme 当中我们可以知道,在 web 应用中我只需要使用如下引用即可Qvs28资讯网——每日最新资讯28at.com

<img src="https://bingw.jasonzeng.dev/?w=800"/>

实在是太方便了Qvs28资讯网——每日最新资讯28at.com

接口使用

下面我们来看下该 API 的具体调用规则Qvs28资讯网——每日最新资讯28at.com

  • 1、传入 resolution 参数可以指定壁纸图像的分辨率。默认为1920x1080,可选值如下:
UHD1920x12001920x10801366x7681280x7681024x768800x600800x480768x1280720x1280640x480480x800400x240320x240240x320

UHD 就是高清,图片比较大。Qvs28资讯网——每日最新资讯28at.com

  • 2、传入 index 可以获取某一天的图片,0 表示今天,1 表示昨天,以此类推,index=random 表示随机一天。
  • 3、传入 date 可以获取从某一天到今天的图片,比如 data=20210401。
  • 4、传入 w 和 h 可以指定图片的宽度和高度。
  • 5、传入 qlt 可以指定图片的质量,取值范围是 0 到 100。

举个例子

我们直接在浏览器输入如下地址Qvs28资讯网——每日最新资讯28at.com

http://bingw.jasonzeng.dev?resolutinotallow=UHD&index=random&w=1000&format=json

Output:Qvs28资讯网——每日最新资讯28at.com

{ "startdate": "20220105", "copyright": "Plate-billed mountain toucan in Bellavista Cloud Forest Reserve, Ecuador (© Tui De Roy/Minden Pictures)", "urlbase": "/th?id=OHR.MountainToucan_EN-US7120632569", "title": "A plate-billed mountain toucan", "url": "https://www.bing.com/th?id=OHR.MountainToucan_EN-US7120632569_UHD.jpg&w=1000"}

可以说是相当方便了Qvs28资讯网——每日最新资讯28at.com

也可以直接在 css 当中使用Qvs28资讯网——每日最新资讯28at.com

background-image: url(https://bingw.jasonzeng.dev/?index=random);height: 100%;background-position: center;background-repeat: no-repeat;background-size: cover;

Python 调用

下面我们看一下如何通过 Python 进行调用,也很简单Qvs28资讯网——每日最新资讯28at.com

import requestsdef get_wallpaper():    for i in range(30):        url = "https://bingw.jasonzeng.dev?resolutinotallow=UHD&index=%s" % str(i)        print(url)        res = requests.get(url)        with open("wallpaper/" + "%s.jpg" % str(i),"wb") as w:            w.write(res.content)if __name__ == "__main__":    get_wallpaper()

上面代码就是获取前30张壁纸,我们可以修改range的参数,来获取不同数量的壁纸Qvs28资讯网——每日最新资讯28at.com

抓取效果如下Qvs28资讯网——每日最新资讯28at.com

图片图片Qvs28资讯网——每日最新资讯28at.com

更换桌面

壁纸有了,下面我们就来进行自动切换桌面壁纸,这里使用win32con和win32gui操作桌面壁纸Qvs28资讯网——每日最新资讯28at.com

def windows_img(paper_path):    k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control panel//Desktop", 0, win32con.KEY_SET_VALUE) # 在注册表中写入属性值    win32api.RegSetValueEx(k, "wapaperStyle", 0, win32con.REG_SZ,"2")  # 0 代表桌面居中 2 代表拉伸桌面    win32api.RegSetValueEx(k, "Tilewallpaper", 0, win32con.REG_SZ,"0")    win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, paper_path, win32con.SPIF_SENDWININICHANGE) # 刷新桌面

然后就是从已经下载的壁纸当中选择图片Qvs28资讯网——每日最新资讯28at.com

def change_wallpaper():    pic_list = os.listdir("wallpaper")  # 得到文件路径下的图片,列表类型    i=0    print(pic_list)    while True:        pic = "wallpaper"+'/{}'.format(pic_list[i])        abspath_pic = os.path.abspath(pic)        windows_img(abspath_pic)        print(abspath_pic)        time.sleep(1000)  # 设置壁纸更换间隔        i += 1        if i==len(pic_list):  # 如果是最后一张图片,则重新到第一张            i=0if __name__ == '__main__':    change_wallpaper()

这样一个简单的自动切换桌面壁纸的工具就完成了,快来尝试一下吧!Qvs28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-17559-0.html用Python下载壁纸并自动更换桌面

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 高可扩展性架构演进:Java与MySQL在微服务中的应用

下一篇: 轻松掌握Python正则表达式:高效处理文本数据的秘诀!

标签:
  • 热门焦点
  • 7月安卓手机好评榜:三星S23Ultra好评率第一

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年7月1日至7月31日,仅限国内市场。第一名:三星Galaxy S23 Ultra好评率:95.71%在即将迎来新
  • iPhone卖不动了!苹果股价创年内最大日跌幅:市值一夜蒸发万亿元

    8月5日消息,今天凌晨美股三大指数高开低走集体收跌,道指跌0.41%;纳指跌0.36%;标普500指数跌0.52%。热门科技股也都变化极大,其中苹果报181.99美元,跌4.8%,创
  • 三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 从零到英雄:高并发与性能优化的神奇之旅

    作者 | 波哥审校 | 重楼作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人&ldquo;珍藏&rdquo;是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • AI芯片初创公司Tenstorrent获三星和现代1亿美元投资

    Tenstorrent是一家由芯片行业资深人士Jim Keller领导的加拿大初创公司,专注于开发人工智能芯片,该公司周三表示,已经从现代汽车集团和三星投资基金等
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top