我們這裡使用一個開源在GitHub 上的必應壁紙API 作為壁紙的來源
https://github. com/zenghongtu/bing-wallpaper
#從readme 當中我們可以知道,在web 應用中我只需要使用以下引用即可
<img src="https://img.php.cn/"/ alt="用Python下載桌布並自動更換桌面" >
實在是太方便了
#下面我們來看下該API 的具體呼叫規則
#1、傳入resolution 參數可以指定壁紙影像的解析度。預設為1920x1080,可選值如下:
UHD 1920x1200 1920x1080 1366x768 1280x768 1024x768 800x600 800x480 768x1280 720x1280 640x480 480x800 400x240 320x240 240x320
UHD 是高清,圖片比較大。
2、傳入 index 可以獲得某一天的圖片,0 表示今天,1 表示昨天,以此類推,index=random 表示隨機一天。
3、傳入 date 可以取得從某一天到今天的圖片,例如 data=20210401。
4、傳入 w 和 h 可以指定圖片的寬度和高度。
5、傳入 qlt 可以指定圖片的質量,取值範圍是 0 到 100。
舉例
我們直接在瀏覽器輸入以下位址
http://bingw.jasonzeng.dev?resolutinotallow=UHD&index=random&w=1000&format=json
Output:
{ "startdate": "20220105", "copyright": "Plate-billed mountain toucan in Bellavista Cloud Forest Reserve, Ecuador (© Tui De Roy/Minden Pictures)", "urlbase": "/th?id=OHR.MountainToucan_EN-US7120632569", "title": "A plate-billed mountain toucan", "url": "https://www.bing.com/th?id=OHR.MountainToucan_EN-US7120632569_UHD.jpg&w=1000" }
可以說是相當方便了
也可以直接在css 當中使用
background-image: url(https://bingw.jasonzeng.dev/?index=random); height: 100%; background-position: center; background-repeat: no-repeat; background-size: cover;
下面我們看一下如何透過Python 進行調用,也很簡單
import requests def get_wallpaper(): for i in range(30): url = "https://bingw.jasonzeng.dev?resolutinotallow=UHD&index=%s" % str(i) print(url) res = requests.get(url) with open("wallpaper/" + "%s.jpg" % str(i),"wb") as w: w.write(res.content) if __name__ == "__main__": get_wallpaper()
上面程式碼就是取得前30張壁紙,我們可以修改range的參數,來取得不同數量的壁紙
#抓取效果如下:
壁紙有了,下面我們就來進行自動切換桌面壁紙,這裡使用win32con和win32gui操作桌面壁紙
def windows_img(paper_path): k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control panel\Desktop", 0, win32con.KEY_SET_VALUE) # 在注册表中写入属性值 win32api.RegSetValueEx(k, "wapaperStyle", 0, win32con.REG_SZ,"2")# 0 代表桌面居中 2 代表拉伸桌面 win32api.RegSetValueEx(k, "Tilewallpaper", 0, win32con.REG_SZ,"0") win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, paper_path, win32con.SPIF_SENDWININICHANGE) # 刷新桌面
然後就是從已經下載的壁紙當中選擇圖片
rrreee這樣一個簡單的自動切換桌面桌布的工具就完成了,快來試試看吧!
#以上是用Python下載桌布並自動更換桌面的詳細內容。更多資訊請關注PHP中文網其他相關文章!