Python 自动获取 Bing 壁纸

2022-10-25 21:01:20 浏览数 (1)

每当我使用 Bing 的时候,总会被它那漂亮的壁纸吸引。那么你想不想轻松获取这些高质量的图片?然后用在博客、PPT、文章配图等场景。本文告诉你方法。

Python 批量下载

该方法基于一个 Bing 壁纸 API[1]。

用浏览器访问 https ://bingw.jasonzeng.dev,你可以看到一张高清图片。

我们可以用 Python 来调用它,然后批量保存下来,比如说下载最近 100 天的图片:

代码语言:javascript复制
import requests
from pathlib import Path

def save_pic(path:Path):
    for i in range(100):
        url = f"http://bingw.jasonzeng.dev?resolution=UHD&index={i}"
        with requests.get(url) as r:
            with open(path/f"{i}.jpg","wb") as w:
                w.write(r.content)


if __name__ == "__main__":
    saved_path = Path("/Users/aaron/Downloads/bing_pic")
    saved_path.mkdir(parents = True, exist_ok = True)
    save_pic(saved_path)

执行上面的代码,就可以在目标路径看到下载的高清图片,有些照片的大小能达到 12.5MB:

接口介绍:

1、传入 resolution 参数可以指定壁纸图像的分辨率。默认为1920x1080,可选值如下:

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

UHD 就是高清,图片比较大。

2、传入 index 可以获取哪天的图片,0 表示今天,1 表示昨天,以此类推,index=random 表示随机一天。

3、传入 date 可以获取从某某一天到今天的图片,比如 data=20210401。

4、传入 w 和 h 可以指定图片的宽度和高度。

5、传入 qlt 可以指定图片的质量,取值范围是 0 到 100。

在 CSS 中使用

代码语言:javascript复制
background-image: url(https://bingw.jasonzeng.dev/?index=random);
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: cover;

最后的话

如果有帮助,请点赞、转发、在看,感谢支持。

参考资料

[1]

Bing 壁纸 API: https://github.com/zenghongtu/bing-wallpaper

0 人点赞