python实现桌面壁纸切换功能


Posted in Python onJanuary 21, 2019

本文实例为大家分享了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切换一次壁纸

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Python中unittest实现简单的单元测试实例详解
Jan 09 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Python输入二维数组方法
Apr 13 Python
Python操作Excel插入删除行的方法
Dec 10 Python
Django处理多用户类型的方法介绍
May 18 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
python超时重新请求解决方案
Oct 21 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
关于的python五子棋的算法
May 02 Python
在Python中通过getattr获取对象引用的方法
Jan 21 #Python
python实现windows壁纸定期更换功能
Jan 21 #Python
PyQt5+requests实现车票查询工具
Jan 21 #Python
Python设计模式之策略模式实例详解
Jan 21 #Python
Python设计模式之装饰模式实例详解
Jan 21 #Python
python利用Tesseract识别验证码的方法示例
Jan 21 #Python
对python过滤器和lambda函数的用法详解
Jan 21 #Python
You might like
德生PL660的电路分析和打磨
2021/03/02 无线电
php 删除无限级目录与文件代码共享
2008/11/22 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
理解javascript回调函数
2014/12/28 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
Vue学习之组件用法实例详解
2020/01/06 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
Python paramiko模块的使用示例
2018/04/11 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python自动登录QQ的实现示例
2020/08/28 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
大学生毕业求职自荐书范文
2014/02/04 职场文书
入党自荐书范文
2014/03/09 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书