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的Django框架中编写编译函数
Jul 20 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
python常用排序算法的实现代码
Nov 08 Python
Python创建数字列表的示例
Nov 28 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
使用python实现名片管理系统
Jun 18 Python
基于pytorch中的Sequential用法说明
Jun 24 Python
如何在mac下配置python虚拟环境
Jul 06 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中的count函数
2016/05/31 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
Python3生成手写体数字方法
2018/01/30 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Python格式化输出%s和%d
2018/05/07 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
台湾三立电视电商平台:电电购
2019/09/09 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
爱情检讨书大全
2014/01/21 职场文书
家长通知书教师评语
2014/04/17 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
党员活动总结
2015/02/04 职场文书
心理学培训心得体会
2016/01/22 职场文书
《窃读记》教学反思
2016/02/18 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
搭建Yolov5服务器
2022/04/30 Servers