php收集bing每日美图壁纸获取api分享

API接口 Loading... 阅读 0

时隔一年多,今天下午写了一个采集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);
}

演示图片:

php收集bing每日美图壁纸获取api分享

这里返回了json格式的url地址,如果不自己处理就可以直接跳转到我的api,或者用css中背景的格式调用我的api也行。

参数说明我也不写了,因为是摸鱼写的,而且马上快下班了,我该回家做饭了,时间上来不及了。

==========

css调用背景图:

body {
    background-image: url(https://api.mxooo.cn/bing/)
}

type可选择的有  type = json

Tags:

版权声明:若无特殊注明,本文皆为《长行客》原创,转载务必保留文章来源。

本文链接:php收集bing每日美图壁纸获取api分享 & https://mxooo.cn/1503/

推荐阅读
发表评论 取消回复
表情 图片 链接 代码

分享