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


Posted in Python onMay 04, 2015

微软最近出了个 必应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()
Python 相关文章推荐
python解析xml文件实例分享
Dec 04 Python
进一步探究Python的装饰器的运用
May 05 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
对python判断ip是否可达的实例详解
Jan 31 Python
提升Python程序性能的7个习惯
Apr 14 Python
python实现视频分帧效果
May 31 Python
python实现websocket的客户端压力测试
Jun 25 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
python办公自动化之excel的操作
May 23 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 04 Python
Elasticsearch 数据类型及管理
Apr 19 Python
详解Python的Django框架中的通用视图
May 04 #Python
在Python中使用matplotlib模块绘制数据图的示例
May 04 #Python
使用Python生成url短链接的方法
May 04 #Python
python实现bucket排序算法实例分析
May 04 #Python
python在指定目录下查找gif文件的方法
May 04 #Python
python创建关联数组(字典)的方法
May 04 #Python
python对html代码进行escape编码的方法
May 04 #Python
You might like
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
Javascript !!的作用
2008/12/04 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
vue2项目使用sass的示例代码
2017/06/28 Javascript
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Python使用python-docx读写word文档
2019/08/26 Python
详解Python绘图Turtle库
2019/10/12 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
消防宣传口号
2014/06/16 职场文书
ktv好的活动方案
2014/08/15 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
英语演讲开场白
2015/05/29 职场文书
入门学习Go的基本语法
2021/07/07 Golang
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技