python实现桌面壁纸切换功能
作者:__师寇__ 发布时间:2023-05-26 04:38:49
标签:python,桌面壁纸
本文实例为大家分享了python实现桌面壁纸切换功能的具体实现方法,供大家参考,具体内容如下
大体分为两个部分
一、利用爬虫爬取壁纸
第一部分爬取图片url地址并且下载至本地
爬虫针对 http://image.so.com/ 【360壁纸写的】,如果要更换url地址自己改改
import requests
import json
import random
import os
#存放Ajax图片地址数据
img_url_dict={}
#创建图片tmp文件夹
if not os.path.exists('image'):
os.mkdir('image')
#爬取图片url地址
def getImgurl(root_url,sn):
params={
'ch': 'wallpaper',
't1': 157,
'sn': sn,
'listtype': 'new',
'temp': 1
}
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko)Chrome/62.0 3202.62 Safari / 537.36'
}
try:
response=requests.get(root_url,params=params,headers=headers)
except RequestException:
return None
data=json.loads(response.text).get('list')
img_url_list=[]
for item in data:
img_url_list.append(item.get('cover_imgurl'))
img_url_dict[sn]=img_url_list
#下载图片
def download_image(name,image_url):
try:
response=requests.get(image_url)
except RequestException:
return "图像请求出错"
file_name='{}/{}.{}'.format('image',name,'bmp');
with open(file_name,'wb') as file:
file.write(response.content)
#获取随机url地址并下载至image文件夹
def get_img():
sn=30*random.randint(1,15)
try:
img_url_dict[sn]
except KeyError:
getImgurl('http://image.so.com/zj',sn)
index=random.randint(0,len(img_url_dict[sn])-1)
url=img_url_dict[sn][index]
download_image('wallpaper',url)
二、更换桌面壁纸
第二部分将下载的图片作为壁纸,间隔一定时间重新下载,再切换壁纸
这部分借用python实现windows壁纸定期更换功能
import win32api, win32gui, win32con
import time
def setWallPaper(pic):
# open register
regKey = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(regKey,"WallpaperStyle", 0, win32con.REG_SZ, "2")
win32api.RegSetValueEx(regKey, "TileWallpaper", 0, win32con.REG_SZ, "0")
# refresh screen
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,pic, win32con.SPIF_SENDWININICHANGE)
if __name__=='__main__':
while True:
get_img()
pic='your_path/image/wallpaper.bmp'#写绝对路径
setWallPaper(pic)
time.sleep(6)#6s切换一次壁纸
来源:https://blog.csdn.net/weixin_38283159/article/details/79943285
0
投稿
猜你喜欢
- 前言我们这里主要是利用requests模块和bs4模块进行简单的爬虫的讲解,让大家可以对爬虫有了初步的认识,我们通过爬几个简单网站,让大家循
- 我就废话不多说啦,还是直接看代码吧!import osimport sysimport djangosys.path.append(r
- 我们直接先给出输出与预期不同的代码In[28]: a = [1,2,3,4,5,6]In[29]: for i in a: ...: &nb
- 我们今天主要描述的是php和MySQL转义字符,我们大家都知道php和MySQL转义字符的实际应用比例还是占为多数的,如果你对这一技术,心存
- 以下是涉及到插入表格的查询的5种改进方法:1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍。2)使用带有多个
- 一、设计目的1、教学目的本课程设计是学生学习完《Python程序设计》课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用Pyth
- 目前,SQL Server数据库有几个版本都在使用中,比如 7.0, 2000和2005,那么,在现实的工作和学习中,你很有可能会需要从以前
- 用DIV+CSS可以作出很多不同形状的角形;以下我只写了几个;CSS没有优化;是为了让大家看得更清一些;以下是一些小三角的形状:这是第一个小
- 此文用来正式回复大辉同学的疑问。1、结论:固定宽度只适合功能型网站,不适合希望用户认真阅读的浏览型网站。UCD大社区是浏览型网站,它的定位是
- 代码如下:<form action="insert.asp" method="pos
- table.rows集合中是cell对象 cell.innerHTML = "<td>123</td>&q
- 一. 字符串生活中我们经常坐大巴车,每个座位一个编号,一个位置对应一个下标。 字符串中也有下标,要取出字符串中的部分数据,可以用下标取。py
- 前言有时候我们需要把图片填充成某个数字的整数倍才能送进模型。例如,有些模型下采样倍率是8倍,或者16倍,那么输入的长和高就分别应该是8或16
- 最近论坛里总有人问幻灯片怎么从数据库里取数据,花了几分钟简单的写了下。用到的人可以自己在细化<%dim rs,sqlset&
- 本文实例讲述了python新式类和经典类的区别。分享给大家供大家参考,具体如下:新式类就是 class person(objec
- numpy中的乘法A = np.array([[1, 2, 3], [2, 3, 4]])B = np.array([[1, 0, 1],
- 这是份总结,有不恰达的地方欢迎一同讨论联系方式 : 龙藏 longzang@taobao.com点击这里全幅围观或者点下面大图去 slide
- 1、绝对导入和相对导入绝对导入:按照sys.path顺序搜索,先主目录(sys.path中第一项''),然后PYTHONPA
- 本文实例讲述了python使用socket进行简单网络连接的方法。分享给大家供大家参考。具体如下:import socketprint &q
- 导读:这篇论坛文章主要介绍了使用SQL Server升级顾问的具体步骤,详细内容请参考下文。微软提供了SQL Server 2008升级顾问