Python 自动获取 Bing 壁纸

每当我使用 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:

Python 自动获取 Bing 壁纸

接口介绍:

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

  • UHD
  • 1920×1200
  • 1920×1080
  • 1366×768
  • 1280×768
  • 1024×768
  • 800×600
  • 800×480
  • 768×1280
  • 720×1280
  • 640×480
  • 480×800
  • 400×240
  • 320×240
  • 240×320

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


原文始发于微信公众号(Python七号):Python 自动获取 Bing 壁纸

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/39658.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!