前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Api获取必应的每日一图

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

作者头像
MoLeft
发布2022-08-30 11:24:02
1.2K0
发布2022-08-30 11:24:02
举报
文章被收录于专栏:用砖头敲代码用砖头敲代码

思路来源

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

分析api

在万能的度娘找了一大圈,终于找到了必应的api,就是下面这个东西。

代码语言:javascript
复制
https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1

然后访问一波,看他返回的正好是一个json,正好方便我们了。他的那个图片的地址明显是url,但是好像还得拼接一下主域名。

代码语言:javascript
复制
{
  "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函数

代码语言:javascript
复制
<?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文件里面,来看看返回的效果

代码语言:javascript
复制
{
  "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了。没事,别慌,我们改一下上面的代码。

代码语言:javascript
复制
<?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']);
);

然后我们的必应每日一图图床就弄好了,如果自己不想占服务器内存可以用我的。

代码语言:javascript
复制
https://api.moleft.cn/bing/images.php

这次文章是真的结束了,感谢大家 (这篇文章的封面就是用的api哦)

如无特殊说明《利用Api获取必应的每日一图》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-58.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思路来源
  • 分析api
  • 开始写代码
  • 我的图床呢?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档