Nous utilisons ici une API Bing Wallpaper open source sur GitHub comme source de fond d'écran
https://github.com/zenghongtu/bing-wallpaper
De le readme, on peut savoir que dans l'application web il me suffit d'utiliser la référence suivante
<img src="https://img.php.cn/"/ alt="Utilisez Python pour télécharger des fonds d'écran et changer automatiquement le bureau" >
C'est tellement pratique
Jetons un œil aux règles d'appel spécifiques de l'API
1. Entrant Le paramètre de résolution spécifie la résolution de l'image du fond d'écran. La valeur par défaut est 1920x1080, les valeurs facultatives sont les suivantes :
UHD 1920x1200 1920x1080 1366x768 1280x768 1024x768 800x600 800x480 768x1280 720x1280 640x480 480x800 400x240 320x240 240x320
UHD signifie haute définition et l'image est plus grande.
2. Passez l'index pour obtenir l'image d'un certain jour, 0 signifie aujourd'hui, 1 signifie hier, et ainsi de suite, index=random signifie un jour aléatoire.
3. Entrez la date pour obtenir des photos d'un certain jour à aujourd'hui, par exemple data=20210401.
4. Passez w et h pour préciser la largeur et la hauteur de l'image.
5. Passez dans qlt pour spécifier la qualité de l'image, la plage de valeurs est de 0 à 100.
Par exemple
Nous saisissons directement l'adresse suivante dans le navigateur
http://bingw.jasonzeng.dev?resolutinotallow=UHD&index=random&w=1000&format=json
Sortie :
{ "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" }
On peut dire que c'est assez pratique
Il peut également être utilisé directement en css
background-image: url(https://bingw.jasonzeng.dev/?index=random); height: 100%; background-position: center; background-repeat: no-repeat; background-size: cover;
Voyons voir comment appeler via Python est également très simple
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()
Le code ci-dessus permet d'obtenir les 30 premiers fonds d'écran. Nous pouvons modifier le paramètre de plage pour obtenir différents nombres de fonds d'écran
L'effet de capture est le suivant :
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) # 刷新桌面
def change_wallpaper(): pic_list = os.listdir("wallpaper")# 得到文件路径下的Utilisez Python pour télécharger des fonds décran et changer automatiquement le bureau,列表类型 i=0 print(pic_list) while True: pic = "wallpaper"+'{}'.format(pic_list[i]) abspath_pic = os.path.abspath(pic) windows_img(abspath_pic) print(abspath_pic) time.sleep(1000)# 设置壁纸更换间隔 i += 1 if i==len(pic_list):# 如果是最后一张Utilisez Python pour télécharger des fonds décran et changer automatiquement le bureau,则重新到第一张 i=0 if __name__ == '__main__': change_wallpaper()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!