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
Lepaskan: 2023-04-10 15:01:03
ke hadapan
1074 orang telah melayarinya


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" >
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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"
}
Salin selepas log masuk

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;
Salin selepas log masuk

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()
Salin selepas log masuk

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) # 刷新桌面
Salin selepas log masuk
<🎜. > 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()
Salin selepas log masuk
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!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan