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
投稿
猜你喜欢
- 1. 目的每次新配置 Ubuntu 系统,免不了配置 apt 源。尽管可以通过 GUI 界面进行选择,但自动化程度不够,不同桌面(Unity
- 本文整理了关于Javascript表单验证的所有涉及到的,大家仔细阅读一定会有所收获的 //验证字符串非空 var Validat
- python中判断文件结束符的方法:可以使用try except语句块来进行判断。具体使用方法:【try:while True:s = in
- 一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发
- 1.登陆网站,开启开发者模式。可以在浏览器中点击右键检查或者F12打开开发者模式。2.点选 NetWork,DOC,然后刷新页面。在 net
- 一、检测它是不是整数function Is_Int(a_str) if&
- oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命
- 本文实例讲述了Python装饰器原理与基本用法。分享给大家供大家参考,具体如下:装饰器:意义:在不能改变原函数的源代码,和在不改变整个项目中
- 时区的概念与转换首先要知道时区之间的转换关系,其实这很简单:把当地时间减去当地时区,剩下的就是格林威治时间了。 例如北京时间的18:00就是
- 前言我们这里主要是利用requests模块和bs4模块进行简单的爬虫的讲解,让大家可以对爬虫有了初步的认识,我们通过爬几个简单网站,让大家循
- power(x, y) 函数,计算 x 的 y 次方。示例:x 和 y 为单个数字:import numpy as npprint(np.p
- 合并在numpy中合并两个arraynumpy中可以通过concatenate,参数axis=0表示在垂直方向上合并两个数组,等价于np.v
- 本文实例为大家分享了js实现微信聊天效果的具体代码,供大家参考,具体内容如下<!DOCTYPE html><html la
- Python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的
- 上次成功升级了最土商业版,接下来就是整合公司的社区网站,先说明一下我现在工作的地方是个地方社区网站,用的基础程序是PHPWind,我的任务就
- 废话不多说了,直接给大家贴关键代码了,具体代码如下所示:<!DOCTYPE html PUBLIC "-//W3C//DTD
- 一、函数介绍pytorch中两个张量的乘法可以分为两种:两个张量对应元素相乘,在PyTorch中可以通过torch.mul函数(或*运算符)
- MLP分类效果一般好于线性分类器,即将特征输入MLP中再经过softmax来进行分类。具体实现为将原先线性分类模块:self.classif
- 首先是建表语句 CREATE TABLE `t_address_province` ( `id` INT AUTO_INCREMENT PR
- 这里是一个基于GMap2和XML的小例子,数据存在XML文件中 ,这是最简单的模式,却相当地有用。实例的网址是: http://sunjia