使用Python脚本将Bing的每日图片作为桌面的教程

 更新时间:2015年05月04日 16:24:13   投稿:goldensun  
这篇文章主要介绍了使用Python脚本将Bing的每日图片作为桌面的教程,示例基于Windows操作系统环境实现,需要的朋友可以参考下

微软最近出了个 必应bing 缤纷桌面,使用下来还是不错,可以每天更换Bing首页的北京作为壁纸,但是该软件有个不好的地方是,安装后桌面上会有一个搜索框出现,很是烦人,而且不能关掉。于是出于技术考虑,想到了使用Python来实现这个功能。

正如很多介绍Python书中那样,Python是中胶水语言,用在哪里都是可行的。想要使用Python给桌面设置背景只需要下个模块安装即可:

http://sourceforge.net/projects/pywin32/

代码非常简单,参考了网上一些其他人写了代码,具体代码如下:
 

# -*- coding: utf-8 -*-
 
import urllib,time,os,Image,win32gui,win32con,win32api
 
class StealBing:
 
 def __init__(self):
  self.content = urllib.urlopen('http://cn.bing.com/').read()
  self.bgImageUrl = ''
  self.localFileName = ''
  self.localBMPFileName = ''
 
 def parserImageURL(self):
  tempStr = self.content[self.content.index('g_img={url:')+12:]
  self.bgImageUrl = tempStr[:tempStr.index('id:\'bgDiv\'')-2]
 
 def createLocalFileName(self):
  randomStr = time.strftime("%Y%m%d", time.localtime())
  self.localFileName = 'D:/Bing/' + randomStr + '.jpg'
  self.localBMPFileName = 'D:/Bing/' + randomStr + '.bmp'
 
 def downloadImage(self):
  if self.bgImageUrl == '':
   self.parserImageURL()
  if self.localFileName == '':
   self.createLocalFileName()
  urllib.urlretrieve(self.bgImageUrl, self.localFileName)
 
 def updateBGImage(self):
  img = Image.open(self.localFileName)
  img.save(self.localBMPFileName)
  os.remove(self.localFileName)
  k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
  win32api.RegSetValueEx(k, "WallpaperStyle", 0, win32con.REG_SZ, "2") #2拉伸适应桌面,0桌面居中
  win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0") 
  win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, self.localBMPFileName , 1+2)
 
if __name__ == '__main__':
 stealBing = StealBing()
 stealBing.downloadImage()
 stealBing.updateBGImage()

相关文章

  • 5个Python自动化运维脚本分享

    5个Python自动化运维脚本分享

    Python 是一种流行的编程语言,具有丰富的第三方库和强大的自动化能力,适用于许多不同的领域,许多运维工程师会使用 Python 脚本来自动化运维任务,所以本文为大家整理了5个Python自动化运维脚本,有需要的可以参考下
    2023-08-08
  • Python简单生成随机姓名的方法示例

    Python简单生成随机姓名的方法示例

    这篇文章主要介绍了Python简单生成随机姓名的方法,结合实例形式分析了Python基于random模块生成随机字符串组合的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • Python趣味挑战之教你用pygame画进度条

    Python趣味挑战之教你用pygame画进度条

    pygame四种方法教会你画进度条,其实也不难,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • python Django中models进行模糊查询的示例

    python Django中models进行模糊查询的示例

    今天小编就为大家分享一篇python Django中models进行模糊查询的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • numpy之sum()的使用及说明

    numpy之sum()的使用及说明

    这篇文章主要介绍了numpy之sum()的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Django中从mysql数据库中获取数据传到echarts方式

    Django中从mysql数据库中获取数据传到echarts方式

    这篇文章主要介绍了Django中从mysql数据库中获取数据传到echarts方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python torch.utils.data.DataLoader使用方法

    python torch.utils.data.DataLoader使用方法

    这篇文章主要介绍了python torch.utils.data.DataLoader使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python批量实现横屏转竖屏的视频处理工具

    Python批量实现横屏转竖屏的视频处理工具

    这篇文章主要为大家详细介绍了如何使用Python和Tkinter框架开发一个视频处理器应用,用于批量横屏转竖屏视频处理,支持多种视频格式和编码选择,需要的可以了解下
    2025-02-02
  • Python yield生成器和return对比代码实例

    Python yield生成器和return对比代码实例

    这篇文章主要介绍了Python yield生成器和return对比代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 老生常谈python之鸭子类和多态

    老生常谈python之鸭子类和多态

    下面小编就为大家带来一篇老生常谈python之鸭子类和多态。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论