Maison > développement back-end > Tutoriel Python > Utilisez Python pour télécharger des fonds d'écran et changer automatiquement le bureau

Utilisez Python pour télécharger des fonds d'écran et changer automatiquement le bureau

WBOY
Libérer: 2023-04-10 15:01:03
avant
1075 Les gens l'ont consulté


API Wallpaper

Nous utilisons ici une API Bing Wallpaper open source sur GitHub comme source de fond d'écran

​https://github.com/zenghongtu/bing-wallpaper

Utilisez Python pour télécharger des fonds décran et changer automatiquement le bureau

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" >
Copier après la connexion

C'est tellement pratique

Utiliser l'interface

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
Copier après la connexion

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
Copier après la connexion

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"
}
Copier après la connexion

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;
Copier après la connexion

Appel Python

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()
Copier après la connexion

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 :

Utilisez Python pour télécharger des fonds décran et changer automatiquement le bureau

Changer le. bureau

fond d'écran Avec cela, changeons automatiquement le fond d'écran du bureau. Ici, nous utilisons win32con et win32gui pour faire fonctionner le fond d'écran du bureau

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) # 刷新桌面
Copier après la connexion

Sélectionnez ensuite l'image dans le fond d'écran téléchargé

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()
Copier après la connexion
Il s'agit d'un outil simple pour changer automatiquement le fond d'écran du bureau. . , venez l'essayer !

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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal