首页/ 填坑/ 文章详情

调用必应 API 壁纸接口,获取每日壁纸 Url 地址

必应 壁纸 API 白嫖 回调函数 发布于 2021-01-11

必应网站的背景壁纸每日更新,看着眼热。想效仿弄一个,考虑到壁纸大小需要1920x1080,存储壁纸空间、壁纸占用的流量、日常寻找壁纸工作瞬间打了退堂鼓,除了穷,就是日常太锁碎,自已给自已找不自在,可不可以白嫖必应壁纸?

了解到必应有壁纸 API 的接口,请求的方式还是 get, 白嫖操作不要太多了。

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

 壁纸 API 参数:

参数名 必选 类型 说明
n Number 控制API返回多少组图片数据,至少需要1组数据,最多返回8组数据
format String 返回数据的格式,默认:xml 格式,可支持json格式,参数:js
idx Number 回朔7天之内的信息,默认:0,代表今天

有了壁纸 API接口,自然结合异步 ajax 请求。首先处理防跨域处理,设置 dataType: 'jsonp';第二步请求回调,设置 jsonpCallback: 'callback',获得的结果状态:200。

JSvar callback = function (data) { //异步请求回调函数
    console.log('data',data);
}

var url = 'https://cn.bing.com/HPImageArchive.aspx?n=1&format=js&idx=0';
$.ajax({type: 'get', url: url, dataType: 'jsonp', jsonpCallback: 'callback',success: function(result){
    console.log('result',result);
}});

信心满满以为白嫖就要成功了,结果必应留了一手:数据没返回,使用 ajax 获取数据宣告失败。世界上没有免费的午餐,如果有,那么以某种你不知道的东西代付了。

即然不能无代价用 ajax 直接求,那么使用 file_get_contents 直接访问页面,多走几步。

PHP$url = 'https://cn.bing.com/HPImageArchive.aspx?n=1&format=js&idx=0';

$result = @file_get_contents($url);
$result = json_decode($result,true);
if(isset($result['images'])) {
    echo 'https://cn.bing.com'.$result['images'][0]['url']; //获取第一张壁纸
}

images 数据结构

PHPArray
(
    [images] => Array
        (
            [0] => Array
                (
                    [startdate] => 20210110
                    [fullstartdate] => 202101101600
                    [enddate] => 20210111
                    [url] => /th?id=OHR.SierraNevada_ZH-CN0564237735_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
                    [urlbase] => /th?id=OHR.SierraNevada_ZH-CN0564237735
                    [copyright] => Pradollano滑雪站,西班牙内华达山脉国家公园 (© NTCo/iStock/Getty Images Plus)
                    [copyrightlink] => https://www.bing.com/search?q=%E5%86%85%E5%8D%8E%E8%BE%BE%E5%B1%B1%E8%84%89%E5%9B%BD%E5%AE%B6%E5%85%AC%E5%9B%AD&form=hpcapt&mkt=zh-cn
                    [title] => 
                    [quiz] => /search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20210110_SierraNevada%22&FORM=HPQUIZ
                    [wp] => 1
                    [hsh] => 9ffe8630042e43a2192e8058313f6dc8
                    [drk] => 1
                    [top] => 1
                    [bot] => 1
                    [hs] => Array()
                )
           ...     
        )
    ...
) 

※ 壁纸Url链接不是绝对路径,缺少了域名信息,需要主动补充地址完整性。

文章评论0 records

最新 最早

0

最新评论Latest comments

凡心的仙人凡心的仙人 03-18 14:35
谢谢你了!
rantrismrantrism 2023-04-03 11:27
您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan 作者申
唐牛才是食神唐牛才是食神 2022-06-15 10:51
(*°▽°*)八(*°▽°*)♪,解决了
唐牛才是食神唐牛才是食神 2022-06-15 10:49
发现不得了的东西,今晚回去好好研究下...
胖螺胖螺 2022-02-04 00:58
( ゜- ゜)つロ 在写了在写了。看到也有些感慨。因为站长前年在我原博客的留言,让我毅然选择去深造,选择读研,曾经我想过挺多东西的,还是自己本专业的适合我自己。在这先表达感谢。新年快乐!