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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
Python字符串替换实例分析
May 11 Python
利用python实现数据分析
Jan 11 Python
python绘制条形图方法代码详解
Dec 19 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
Python脚本完成post接口测试的实例
Dec 17 Python
Python单元和文档测试实例详解
Apr 11 Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
python实现简易名片管理系统
Apr 11 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
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
python批量提取word内信息
2015/08/09 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
一个C/C++编程面试题
2013/11/10 面试题
银行个人求职自荐信范文
2013/12/16 职场文书
个人优缺点总结
2015/02/28 职场文书
单位证明范文
2015/06/18 职场文书
办公室卫生管理制度
2015/08/04 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
一文搞懂MySQL索引页结构
2022/02/28 MySQL
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android