时隔一年多,今天下午写了一个采集bing壁纸的api,这个api很简单,我没有保存到本地,而是直接跳转过去的。
当然也可以保存到本地,弄个监控每天保存一次都是可以的,每天都是可以自动保存美图壁纸,几年之后也有不少图片素材了。不过我暂时用不到就没有写保存功能了。
主要的原因也是bing 的壁纸它不是高清的,我测试的时候发现一张壁纸才300+kb,我都怀疑是我找错了链接,之后审查bing官网发现它的原图就是300多kb。
下面是我的完整代码,在我的api中能完美运行。
<?php /** * time:2021年12月2日15:23:59 * author:mxooo.cn * function:获取bing壁纸每日的美图 */ header("Content-type: text/html; charset=utf-8"); switch ($_REQUEST['type']) { case 'js': echo '没有写,别调用'; break; case 'json': $jsonData = json_decode(returnImage(),true)['imageUrl']; $arr2 = ['code'=>'1','msg'=>'ok','imgUrl'=>$jsonData]; echo returnJson($arr2); break; default: $jsonData = json_decode(returnImage(),true)['imageUrl']; header("Location:".$jsonData); break; } function returnImage(){ $str=@file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1'); $xml = simplexml_load_string($str); $imageUrlBase = $xml->image->url; $imageUrl = 'https://cn.bing.com'.$imageUrlBase[0]; $date = ($xml->image->enddate)[0]; $stringFunction = ($xml->image->copyright)[0]; $returnData = ['imageUrl'=>$imageUrl,'date'=>$date,'copyright'=>$stringFunction]; return returnJson($returnData); } function returnJson($string){ return json_encode($string,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE); }
演示图片:
这里返回了json格式的url地址,如果不自己处理就可以直接跳转到我的api,或者用css中背景的格式调用我的api也行。
参数说明我也不写了,因为是摸鱼写的,而且马上快下班了,我该回家做饭了,时间上来不及了。
==========
css调用背景图:
body { background-image: url(https://api.mxooo.cn/bing/) }
type可选择的有 type = json