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 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
python 实现登录网页的操作方法
May 11 Python
带你认识Django
Jan 15 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
python issubclass 和 isinstance函数
Jul 25 Python
使用pip安装python库的多种方式
Jul 31 Python
Python 实现顺序高斯消元法示例
Dec 09 Python
Python如何爬取qq音乐歌词到本地
Jun 01 Python
Python过滤序列元素的方法
Jul 31 Python
Python classmethod装饰器原理及用法解析
Oct 17 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
JavaScript的parseInt 取整使用
2011/05/09 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
python分割文件的常用方法
2014/11/01 Python
Python装饰器用法实例总结
2018/02/07 Python
Python装饰器模式定义与用法分析
2018/08/06 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python实现学员管理系统
2019/02/26 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
python批量处理文件或文件夹
2020/07/28 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
家居设计专业个人自荐信范文
2013/11/26 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
捐款感谢信
2015/01/20 职场文书
小王子读书笔记
2015/06/29 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书