Maison  >  Article  >  développement back-end  >  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
WBOYavant
2023-04-10 15:01:031053parcourir


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" >

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

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;

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()

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) # 刷新桌面

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()

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer