600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Python电脑桌面每天更新壁纸

Python电脑桌面每天更新壁纸

时间:2023-02-04 04:47:40

相关推荐

Python电脑桌面每天更新壁纸

bing网站的背景图片每天都更换,我的电脑桌面也想每天都换成它的背景图片,如何操作呢!接下来就抓取一下bing网站的背景图片写一个每天都更换壁纸的小dome。

环境配置:

python3.6.5pycharmpython pip安装 requests pywin32 pyinstaller

bing网站截取背景图片地址:

/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US

请求的信息如下:图片信息在url参数里它的结构为josn格式里面有一个list然后是一个字典由此可以解析为:

bing = requests.get(url="/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US").json()i = bing['images'][0]['url']

得到一个背景地址,再添加上前缀再次请求:

requests.get(url="" + i)

这次请求的背景图片大功告成。

接下来就把他保存到本地再进行设置背景图片,

这个地址实际请求的是一堆二进制,只需要把这些二进制文件保存到本地就可以。

# 请求bing网站提取背景图片地址bing = requests.get(url="/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US").json()i = bing['images'][0]['url']# 从新拼接背景图地址ima = requests.get(url="" + i)# 转二进制保存至本地,从新命名为png文件img = ima.contentwith open(C:\\image\\img.png, 'wb') as f:f.write(img)

运行代码看是否保存到本地:保存成功。

保存图片成功后需要设置电脑背景图片:

#控制windows系统import win32api,win32con,win32gui# 打开windows注册表 HKEY_CURRENT_USER 并且设置属性k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control panel\\Desktop", 0, win32con.KEY_SET_VALUE)# 在HKEY_CURRENT_USER注册表中写入属性值,0表示桌面壁纸居中,2表示拉伸桌面win32api.RegSetValueEx(k, "wapaperStyle", 0, win32con.REG_SZ, "2")win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0")# 刷新桌面win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, C:\\image\\img.png, win32con.SPIF_SENDWININICHANGE)

整理代码后:

# -*- coding: utf-8 -*-# Time : -11-08 18:00# Name : mild# File : rest.pyimport requestsimport win32api,win32con,win32guifrom datetime import datetimedef dow_img(path):# 请求bing网站提取背景图片地址bing = requests.get(url="/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US").json()i = bing['images'][0]['url']# 从新拼接背景图地址ima = requests.get(url="" + i)# 转二进制保存至本地,从新命名为png文件img = ima.contentwith open(path, 'wb') as f:f.write(img)def desktop_img(bmp_path):# 打开windows注册表 HKEY_CURRENT_USER 并且设置属性k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control panel\\Desktop", 0, win32con.KEY_SET_VALUE)# 在HKEY_CURRENT_USER注册表中写入属性值,0表示桌面壁纸居中,2表示拉伸桌面win32api.RegSetValueEx(k, "wapaperStyle", 0, win32con.REG_SZ, "2")win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0")# 刷新桌面win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, bmp_path, win32con.SPIF_SENDWININICHANGE)# 调取系统时间Dt = datetime.now()# 以年月日命名图片名称TimeN = Dt.strftime('%Y-%m-%d')# 图片保存地址以及设置背景图片地址path = "C:\\Users\\13513\\Pictures\\bing\\"+TimeN+".png"dow_img(path)desktop_img(path)

最后两步 :

打包Windows可执行程序

打开cmdcd到源文件所在路径运行pyinstaller -F 文件名.py运行结束后,disc文件夹下就有了可以执行的exe文件

设置Windows任务

控制面板->管理工具->任务计划程序创建任务填写名称操作-启动程序 选择程序路径点击触发器-设置为当用户登陆时 -可以设置延时为3秒后设置完成。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。