MENU

利用Api获取必应的每日一图

• March 21, 2020 • 教程

思路来源

刚刚在水群的时候一下子发现博客背景图的图床死了,这就很苦恼啊,我的4k壁纸就这么没了,所以便想找一个不会死的图床,后来一想还是算了吧,不如用必应的每日一图。

分析api

在万能的度娘找了一大圈,终于找到了必应的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哦)

Last Modified: May 26, 2020
Archives 下载海报
QR Code for this page
Tipping QR Code