MacOS Sonoma 下载所有动态壁纸


发布于

|

分类

MacOS Sonoma 更新了啥?壁纸!

但是系统里面下载得比较慢,我这里观察,大概只有几百KB/s。从网上找了一些东西,发现下载地址啥的都已经在系统里面写好了,那就用其他方法给下载出来就好了。

所以……下面是代码。注意:下载出来的都是超高清的视频,大小在100MB~1.2G之间不等,下载完大概需要十几G(我没留意)。磁盘空间不够的话慎重。

import json
from pathlib import Path

import httpx
from tqdm import tqdm

BASE_PATH = Path("/Library/Application Support/com.apple.idleassetsd/Customer")

if __name__ == '__main__':
    info_file = BASE_PATH / "entries.json"
    data = json.load(info_file.open())
    for item in tqdm(data["assets"], position=0):
        tqdm.write(str(item))
        dst = BASE_PATH / f"4KSDR240FPS/{item['id']}.mov"
        if dst.exists():
            continue

        with dst.open("wb") as download_file:
            with httpx.stream("GET", item['url-4K-SDR-240FPS'], verify=False) as response:
                total = int(response.headers["Content-Length"])
                with tqdm(total=total, unit_scale=True, unit_divisor=1024, unit="B", position=1) as progress:
                    num_bytes_downloaded = response.num_bytes_downloaded
                    for chunk in response.iter_bytes():
                        download_file.write(chunk)
                        progress.update(response.num_bytes_downloaded - num_bytes_downloaded)
                        num_bytes_downloaded = response.num_bytes_downloaded
    print("Done")

安装好 httpxtqdm 俩依赖后, sudo python this_script.py 就可以愉快地下载了。如果你闲得无聊,也可以改成多线程下载以充分利用网速。

——还是默认的那个比较好看啊~


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注