必应(bing.com)每日背景壁纸api获取


起因

最近在折腾一个第三方的模板,模板的原背景图api太花了搞得我很烦躁,于是想到了使用必应的每日壁纸

开摆

当天的必应壁纸链接可以通过审查元素直接获取

通过更改url的时间戳其也可以获取之前的壁纸

但是这样只能获取当日的壁纸,不能做到每日更换,想要做到每日更换还是需要api

官方api

必应官方是有官方的每日壁纸api的

https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN

请求会返回类似以下格式的内容

{"images":[{"startdate":"20220905","fullstartdate":"202209051600","enddate":"20220906","url":"/th?id=OHR.SquirrelMushroom_ZH-CN2854383605_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp","urlbase":"/th?id=OHR.SquirrelMushroom_ZH-CN2854383605","copyright":"叼着蘑菇的红松鼠 (© Michael Quinton/Minden Pictures)","copyrightlink":"https://www.bing.com/search?q=%E8%98%91%E8%8F%87&form=hpcapt&mkt=zh-cn","title":"一只有趣的小家伙","quiz":"/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20220905_SquirrelMushroom%22&FORM=HPQUIZ","wp":true,"hsh":"a67bc11e042e91ed19c8e6a71175bb4d","drk":1,"top":1,"bot":1,"hs":[]}],"tooltips":{"loading":"正在加载...","previous":"上一个图像","next":"下一个图像","walle":"此图片不能下载用作壁纸。","walls":"下载今日美图。仅限用作桌面壁纸。"}}

可以看出返回的url参数即为图片的地址

这样还是没有办法直接得到图片,我们需要自己建立一个应用接口

自建接口

<?php
$json_string = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN');
$data = json_decode($json_string, true);
$url = 'https://cn.bing.com'.$data['images'][0]['url'];
header("Location: {$url}"); 
?>

使用以上代码,请求相应的php即可直接获取必应的当日的壁纸

声明:Iruko的小站|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 必应(bing.com)每日背景壁纸api获取


優しい世界に 誰だって行きたいわ