使用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中的type()方法的使用
May 21 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
python读取视频流提取视频帧的两种方法
Oct 22 Python
Django添加feeds功能的示例
Aug 07 Python
python制作抖音代码舞
Apr 07 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
Java文件与类动手动脑实例详解
Nov 10 Python
python将字符串转变成dict格式的实现
Nov 18 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 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实现的比较完善的购物车类
2014/12/02 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
PHP实现简易计算器功能
2020/08/28 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
Python获取央视节目单的实现代码
2015/07/25 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
python3 反射的四种基本方法解析
2019/08/26 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
金山毒霸系列的笔试题
2013/04/13 面试题
一些Unix笔试题和面试题
2012/09/25 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
环保建议书500字
2014/05/14 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby