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-image: url(https://bingw.jasonzeng.dev/?index=random);
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: cover
Bing 壁纸 API: https://github.com/zenghongtu/bing-wallpaper
往期推荐 1、3个Pandas高频使用函数 2、程序员如何优雅地解决线上问题? 3、你这背景太假了,用AI自动合成,假吗? 4、基于NumPy实现随机梯度下降算法 5、【干货原创】一个好用到爆的数据分析利器 点击关注公众号,阅读更多精彩内容
评论