Python 自动获取 Bing 壁纸

Python客栈

共 1844字,需浏览 4分钟

 ·

2022-08-11 21:42

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

Python 批量下载

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

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

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

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 中使用

background-imageurl(https://bingw.jasonzeng.dev/?index=random);
height: 100%;
background-positioncenter;
background-repeatno-repeat;
background-sizecover


参考资料

[1]

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


往期推荐
1、3个Pandas高频使用函数
2、程序员如何优雅地解决线上问题?
3、你这背景太假了,用AI自动合成,假吗?
4、基于NumPy实现随机梯度下降算法
5、【干货原创】一个好用到爆的数据分析利器

点击关注公众号,阅读更多精彩内容
浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报