Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik

Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik

WBOY
WBOYke hadapan
2023-04-10 15:01:031097semak imbas


API Kertas Dinding

Kami menggunakan API Kertas Dinding Bing sumber terbuka pada GitHub sebagai sumber kertas dinding

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

Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik

Dari readme kita boleh tahu bahawa dalam aplikasi web saya hanya perlu menggunakan rujukan berikut

<img  src="https://img.php.cn/"/ alt="Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik" >

Sangat mudah

Menggunakan antara muka

Mari kita lihat peraturan panggilan khusus API

1 parameter resolusi untuk menentukan resolusi imej kertas dinding. Lalai ialah 1920x1080, nilai yang tersedia adalah seperti berikut:

UHD
1920x1200
1920x1080
1366x768
1280x768
1024x768
800x600
800x480
768x1280
720x1280
640x480
480x800
400x240
320x240
240x320

UHD bermaksud definisi tinggi dan gambar lebih besar.

2. Lulus dalam indeks untuk mendapatkan gambar hari tertentu, 0 bermakna hari ini, 1 bermakna semalam, dan seterusnya, index=random bermaksud hari rawak.

3. Hantar tarikh untuk mendapatkan gambar dari hari tertentu hingga hari ini, seperti data=20210401.

4. Melepasi dalam w dan h boleh menentukan lebar dan tinggi imej.

5 Lulus dalam qlt untuk menentukan kualiti imej, julat nilai ialah 0 hingga 100.

Sebagai contoh

Kami memasukkan alamat berikut terus ke dalam penyemak imbas

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

Boleh dikatakan agak mudah

Anda juga boleh menggunakannya secara langsung dalam css

background-image: url(https://bingw.jasonzeng.dev/?index=random);
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: cover;

Panggilan Python

Mari kita lihat cara memanggilnya melalui Python, ia juga sangat mudah

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

Kod di atas adalah untuk mendapatkan 30 kertas dinding yang pertama Kami boleh mengubah suai parameter julat untuk mendapatkan bilangan kertas dinding yang berbeza

Kesan merangkak adalah seperti berikut:

Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik

Ganti Sekarang setelah kertas dinding

tersedia, mari tukar kertas dinding desktop secara automatik Di sini kami menggunakan win32con dan win32gui untuk mengendalikan kertas dinding desktop

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) # 刷新桌面
dan kemudian pilih gambar daripada kertas dinding yang dimuat turun

def change_wallpaper():
pic_list = os.listdir("wallpaper")# 得到文件路径下的Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik,列表类型
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):# 如果是最后一张Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik,则重新到第一张
i=0

if __name__ == '__main__':
change_wallpaper()
Ini ialah alat mudah untuk menukar kertas dinding desktop secara automatik.

Atas ialah kandungan terperinci Gunakan Python untuk memuat turun kertas dinding dan menukar desktop secara automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam