ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する

Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する

WBOY
WBOY転載
2023-04-10 15:01:031109ブラウズ


Wallpaper API

壁紙のソースとして GitHub 上のオープン ソース Bing Wallpaper API を使用します

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

Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する

Readme から、Web アプリケーションでは次の参照のみを使用する必要があることがわかります

<img  src="https://img.php.cn/"/ alt="Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する" >

とても便利です

インターフェイスの使用法

API の具体的な呼び出しルールを見てみましょう

1. 受信解決パラメーターは、次の内容を指定します。壁紙画像の解像度。デフォルトは 1920x1080 で、オプションの値は次のとおりです。

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

UHD は高解像度を意味し、画像はより大きくなります。

2. 特定の日の写真を取得するにはインデックスを渡します。0 は今日を意味し、1 は昨日を意味します。index=random はランダムな日を意味します。

3. 特定の日から今日までの写真を取得するには、data=20210401 などの日付を渡します。

4. w と h を渡して画像の幅と高さを指定します。

5. qlt を渡して画像の品質を指定します (値の範囲は 0 ~ 100)。

次のアドレスをブラウザに直接入力します

http://bingw.jasonzeng.dev?resolutinotallow=UHD&index=random&w=1000&format=json

出力:

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

かなり便利だと言えます

css で直接使用することもできます

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

Python 呼び出し

Python を介して呼び出す方法を見てみましょう。これも非常に簡単です

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

上記のコードは、最初の 30 枚の写真を取得するものです。壁紙の場合、範囲パラメーターを変更して、さまざまな数の壁紙を取得できます。

キャプチャ効果は次のとおりです。

Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する

デスクトップの変更

壁紙 それでは、デスクトップの壁紙を自動的に切り替えてみましょう。ここでは win32con と win32gui を使用してデスクトップの壁紙

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")# 得到文件路径下的Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する,列表类型
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):# 如果是最后一张Python を使用して壁紙をダウンロードし、デスクトップを自動的に変更する,则重新到第一张
i=0

if __name__ == '__main__':
change_wallpaper()

こんなに簡単な自動デスクトップ壁紙切り替えツールが完成しました、ぜひお試しください!

以上がPython を使用して壁紙をダウンロードし、デスクトップを自動的に変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。