Python實用案例,Python腳本,Python實現每日更換“必應圖片”為“桌面壁紙”
前言
今天我們就利用python腳本實現每日更換“必應圖片”為“桌面壁紙”。直接開整~
如果有正在跟我一樣的自學的朋友,需要我本篇的代碼或者其他的Python學習資料可以加衛星小助手:ilove-python添加助理直接獲取
效果展示
思路整理
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腳本的同一目錄下創建名為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~詳見個人簡介或者私信獲取完整源代碼。。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















