天天看點

自動抓取必應的桌面設定為桌面桌面——python

import urllib.request
import requests         
import os.path
import ctypes

def save_img(img_url,dirname):
    #儲存圖檔到磁盤檔案夾dirname中
    try:
        if not os.path.exists(dirname):
            print ('檔案夾',dirname,'不存在,重建立立')
            #os.mkdir(dirname)
            os.makedirs(dirname)
        #獲得圖檔檔案名,包括字尾
        basename = "bingImage.jpg"
        #拼接目錄與檔案名,得到圖檔路徑
        filepath = os.path.join(dirname, basename)
        #下載下傳圖檔,并儲存到檔案夾中
        urllib.request.urlretrieve(img_url,filepath)
    except IOError as e:
        print ('檔案操作失敗',e)
    except Exception as e:
        print ('錯誤 :',e)
    print("Save", filepath, "successfully!")

    return filepath

# 請求網頁,跳轉到最終 img 位址
def get_img_url(raw_img_url = "https://area.sinaapp.com/bingImg/"):
    r = requests.get(raw_img_url)       
    img_url = r.url # 得到圖檔檔案的網址
    print('img_url:', img_url)
    return img_url

# 設定圖檔絕對路徑 filepath 所指向的圖檔為桌面
def set_img_as_wallpaper(filepath):
    ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0)

def main():
    dirname = "C:\\Users\\17806\\Pictures\\bing"       # 圖檔要被儲存在的位置
    img_url = get_img_url()
    filepath = save_img(img_url, dirname)   # 圖檔檔案的的路徑
    set_img_as_wallpaper(filepath)

main()      
自動抓取必應的桌面設定為桌面桌面——python