Kami menggunakan API Kertas Dinding Bing sumber terbuka pada GitHub sebagai sumber kertas dinding
https://github com/. zenghongtu/bing-wallpaper
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
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;
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:
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) # 刷新桌面
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()
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!