Python實用案例,Python腳本,Python實現每日更換“必應圖片”為“桌面壁紙”

前言

今天我們就利用python腳本實現每日更換“必應圖片”為“桌面壁紙”。直接開整~

如果有正在跟我一樣的自學的朋友,需要我本篇的代碼或者其他的Python學習資料可以加衛星小助手:ilove-python添加助理直接獲取

效果展示

Python實用案例,Python腳本,Python實現每日更換“必應圖片”為“桌面壁紙”的圖1

思路整理

1、通過網頁,獲取圖片地址

2、保存圖片到絕對路徑

3、設置該絕對路徑所指向的圖片為壁紙

4、批處理壁紙自動切換

需要用到的模塊如下:

import urllib.requestimport requestsimport os.pathimport ctypes

第一、獲取圖片地址

這個函數主要通過requests模塊,根據必應的網頁地址,獲取到當日圖片的最終img地址。

# 請求網頁,跳轉到最終 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

第二、保存圖片到本地

這個函數的作用就是把圖片保存到你自己設置的一個目錄下,并返回當前目錄的絕對地址。

def save_img(img_url, dirname):    # 保存圖片到磁盤文件夾dirname中
    try:        if not os.path.exists(dirname):            print('文件夾', dirname, '不存在,重新建立')            # os.mkdir(dirname)
            os.makedirs(dirname)        # 獲得圖片文件名,包括后綴
        basename = "bing.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

第三、設置該絕對路徑所指向的圖片為壁紙

通過之前獲得的圖片所在的絕對路徑,把該圖片設置為桌面壁紙。

def set_img_as_wallpaper(filepath):
    ctypes.windll.user三二.SystemParametersInfoW(20, 0, filepath, 0)

第四、運行代碼的main函數

def main():
    dirname = "D:\\bingImg"  # 圖片要被保存在的位置
    img_url = get_img_url()
    filepath = save_img(img_url, dirname)  # 圖片文件的路徑
    set_img_as_wallpaper(filepath)

運行效果(此時,可以回看一下文章首圖中的左上角那張圖片)


Python實用案例,Python腳本,Python實現每日更換“必應圖片”為“桌面壁紙”的圖2

第五、批處理自動更換壁紙

此時,可以在python腳本的同一目錄下創建名為py_bingying.bat的批處理文件,批處理內容如下:

@echo offdel g:\bingImg\*.jpg
python SetBingImgAsWallpaper.py

第二行在運行python腳本前先刪除前一天下載的必應圖片,這樣就實現了舊壁紙的每日清理,最大限度節省了存儲空間。第三行為運行上面的python腳本。

如何實現壁紙的自動切換呢,這里采用開機運行上面的批處理程序的方法。

復制上面創建的批處理文件,到下方目錄下,右鍵-粘貼為快捷方式。這樣就實現了開機啟動批處理程序,自動清除和更新壁紙。

C:\User\yourname\AppData\Roaming\Microsoft\Windows\開始菜單\程序\啟動每次開機都執行一遍更換壁紙的操作還不夠完美的話,可以用Windows任務計劃程序來添加任務,設置每天指定時間點運行批處理程序。

文章到這里就結束了,感謝你的觀看,Python實用腳本系列,下篇文章分享Python 批量加水印

為了感謝讀者們,我想把我最近收藏的一些編程干貨分享給大家,回饋每一個讀者,希望能幫到你們。

干貨主要有:

① 2000多本Python電子書(主流和經典的書籍應該都有了)

② Python標準庫資料(最全中文版)

③ 項目源碼(四五十個有趣且經典的練手項目及源碼)

④ Python基礎入門、爬蟲、web開發、大數據分析方面的視頻(適合小白學習)

⑤ Python學習路線圖(告別不入流的學習)

⑥ 兩天的Python爬蟲訓練營直播權限

All done~詳見個人簡介或者私信獲取完整源代碼。。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1