刚刚在水群的时候一下子发现博客背景图的图床死了,这就很苦恼啊,我的4k壁纸就这么没了,所以便想找一个不会死的图床,后来一想还是算了吧,不如用必应的每日一图。
在万能的度娘找了一大圈,终于找到了必应的api,就是下面这个东西。
https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
然后访问一波,看他返回的正好是一个json,正好方便我们了。他的那个图片的地址明显是url,但是好像还得拼接一下主域名。
{
"images": [
{
"startdate": "20200320",
"fullstartdate": "202003201600",
"enddate": "20200321",
"url": "/th?id=OHR.LoughriggTarn_ZH-CN1404327665_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp",
"urlbase": "/th?id=OHR.LoughriggTarn_ZH-CN1404327665",
"copyright": "Loughrigg Tarn的日出,英国英格兰湖区安布尔塞德 (© John Finney photography/Getty Images)",
"copyrightlink": "https://www.bing.com/search?q=Loughrigg+Tarn&form=hpcapt&mkt=zh-cn",
"title": "",
"quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20200320_LoughriggTarn%22&FORM=HPQUIZ",
"wp": true,
"hsh": "81806a6eab280cef2c8c757e4a7f0a0f",
"drk": 1,
"top": 1,
"bot": 1,
"hs": [
]
}
],
}
既然api和返回的数据都有了,下一步我们就可以开始写代码了,还是使用万年的get_curl函数
<?php
//获取返回json,并解析成数组
$data = json_decode(get_curl("https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"),true);
//构建返回的json
$json['code'] = 1;
$json['copyright'] = $data['images'][0]['copyright'];
$json['images'] = 'https://www.bing.com'.$data['images'][0]['url'];
//输出json
exit(json_encode($json));
大功告成,我们把它放到一个php文件里面,来看看返回的效果
{
"code": 1,
"copyright": "Loughrigg Tarn的日出,英国英格兰湖区安布尔塞德 (© John Finney photography/Getty Images)",
"images": "https://www.bing.com/th?id=OHR.LoughriggTarn_ZH-CN1404327665_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp"
}
不错不错,图片的地址和版权我们都搞到了,本篇文章到此结束,感谢大家的支持。
诶,不对啊。我好像最开始目的是搞一个必应的图床吧,怎么搞上api了。没事,别慌,我们改一下上面的代码。
<?php
//设置头为图片
@header("Content-Type:image/png");
//获取返回json,并解析成数组
$data = json_decode(get_curl("https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"),true);
//将图片转换成文件流
echo get_curl('https://www.bing.com'.$data['images'][0]['url']);
);
然后我们的必应每日一图图床就弄好了,如果自己不想占服务器内存可以用我的。
https://api.moleft.cn/bing/images.php
这次文章是真的结束了,感谢大家 (这篇文章的封面就是用的api哦)
如无特殊说明《利用Api获取必应的每日一图》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-58.html