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多线程编程(二):启动线程的两种方法
Apr 05 Python
Python正则表达式匹配HTML页面编码
Apr 08 Python
python matplotlib画图实例代码分享
Dec 27 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
matplotlib实现区域颜色填充
Mar 18 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
Django中的静态文件管理过程解析
Aug 01 Python
Django RBAC权限管理设计过程详解
Aug 06 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
python中的垃圾回收(GC)机制
Sep 21 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 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模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
js 中 document.createEvent的用法
2010/08/29 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
python使用mysql数据库示例代码
2017/05/21 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
Python如何测试stdout输出
2020/08/10 Python
python 写一个性能测试工具(一)
2020/10/24 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
波兰购物网站:MALL.PL
2019/05/01 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
综合实践活动总结
2014/05/05 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
2014年班级工作总结
2014/11/14 职场文书
2014年督导工作总结
2014/11/19 职场文书
工作推荐信模板
2015/03/25 职场文书
一个都不能少观后感
2015/06/04 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript