OSX 每天自动获取 Bing 壁纸

2018年3月16日 5.53k 次阅读 5 条评论 368 人点赞

自从换了 mac 之后,直观的感觉是桌面变的更空旷了(本来我就不喜欢在桌面放东西)。所以,壁纸成了装点桌面的唯一工具。正好 Bing 的背景图片每天都会换一张,并且几乎每张图片都让人感觉非常大气,所以就萌生了用 Bing 图片做壁纸的想法(话说让我知道 Bing 每天都会换背景图,还是因为之前做 Kratos 的时候有小伙伴提出网页的背景图能不能调用 Bing 的接口 :lol: )。我先看了一下 Apple Store 里面有没有这种 App,果不其然还真有,但是这价格的话,emmmmm 算了还是自己整吧。

利弊分析

Bing 的图片有 4 种像素,分别是 1920x1200、1920x1080、800x480、400x240,而 mac 可以支持到 2880 x 1800,所以在视觉上看着壁纸不是非常的清晰的(系统自带的壁纸是 5120 × 3684)。

这里制作的自动化脚本是每次开机启动的,如果一天开机好几次的话,脚本会自带检测是否已经下载过图片,从而不会重复下载。

战前准备

  • MAC 中自带的 Automator
  • bing-wallpaper 脚本
  • 充满智慧的大脑 :razz:

战斗开始

1、首先我们知道 Bing 图片是有一个接口的,也就是 https://cn.bing.com/HPImageArchive.aspx?format=js&n=1 ,他的主要内容如下,这里我们需要的是第 7 行 url,也就是图片的地址,所以在脚本中只要拉这个 url 地址即可实现需求。

2、bing-wallpaper 是一个可以从 Bing 下载当天最新图片并将其保存到目录的脚本。

3、在脚本的第 39-40 行,是设置图片的保存位置以及图片的像素。这里默认的是最高像素,保存的位置为 /Pictures/bing-wallpapers/ 这个文件夹中,下图是这段时间我电脑里拉到的一些图片。

4、将修改好的脚本添加到 Automator 的工作流程中,左边选择“运行 Shell 脚本”

5、将保存好的工作流程添加到“登录项”中,从而实现开机自动运行

6、最后,我们设置桌面背景,添加壁纸所在的文件夹,然后再勾选更改图片的频率为每天

没有天生的高手,更没有永远的菜鸟

文章评论(5)

  • curve9300

    很棒,感觉算是教程帖。

    2018年5月8日
  • 说到底

    ok

    2018年4月15日
  • kb

    这个不错

    2018年4月12日
  • hy

    aa.sh: line 96: syntax error near unexpected token `<'
    aa.sh: line 96: `read -ra urls < <(curl -sL $PROTO://www.bing.com | \'

    怎么报错呢?我看GitHub上也有人反馈这个报错

    2018年4月9日
  • 菠萝

    这个技巧真的很炫!!谢谢分享。。。

    2018年3月19日