下載bing圖片並設置成桌面壁紙

主要實現:從bing下載圖片並保存到本地;然後稍加處理將該圖片設置爲桌面壁紙。


# -*- coding: cp936 -*-
import urllib
import os
import time
import Image
import win32api,win32con,win32gui
import re

def getPicFromBing():
    url='http://cn.bing.com'
    urlFile=urllib.urlopen(url)
    data=urlFile.read()
    urlFile.close()
    data=data.decode('utf-8')
    #找出下載地址imgURL
    pre = 'g_img={url:\''
    index1 = data.find(pre) + len(pre)
    index2 = data.find('\'', index1)
    imgUrl = data[index1 : index2]
    print imgUrl
    #聲明下載存儲路徑imgName
    imgName=time.strftime('%Y-%m-%d',time.localtime(time.time()))+u'.jpg'
    urllib.urlretrieve(imgUrl,imgName)
    print 'Download complete'
    return imgName

def set_wallpaper_from_bmp(bmp_path):
    #打開指定註冊表路徑
    reg_key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
    #最後的參數:2拉伸,0居中,6適應,10填充,0平鋪
    win32api.RegSetValueEx(reg_key, "WallpaperStyle", 0, win32con.REG_SZ, "2")
    #最後的參數:1表示平鋪,拉伸居中等都是0
    win32api.RegSetValueEx(reg_key, "TileWallpaper", 0, win32con.REG_SZ, "0")
    #刷新桌面
    win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,bmp_path, win32con.SPIF_SENDWININICHANGE)

def set_wallpaper(img_path):
    #把圖片格式統一轉換成bmp格式,並放在源圖片的同一目錄
    img_dir = os.path.dirname(img_path)
    bmpImage = Image.open(img_path)
    new_bmp_path = os.path.join(img_dir,'wallpaper.bmp')
    bmpImage.save(new_bmp_path, "BMP")
    set_wallpaper_from_bmp(new_bmp_path)

if __name__ == '__main__':
    img_path=getPicFromBing();
    set_wallpaper(img_path);
       


發佈了38 篇原創文章 · 獲贊 31 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章