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

WBOY
リリース: 2023-04-10 15:01:03
転載
1059 人が閲覧しました


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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート