本文最后更新于 165 天前,其中的信息可能已经有所发展或是发生改变。
前言
本文章介绍如何通过必应官方API获取Bing日图,在未来,Lime Network将会推出更便捷的接口
API方法
请求方法及参数
通过GET方法请求链接( https://www.bing.com/HPImageArchive.aspx ),并按照常规的GET方法编写并携带如下参数
示例取值 | 是否必须 | 描述 | |
format | js | 否,若缺省则返回XML格式 | 输出格式 |
idx | 0 | 是 | 获取从今天起倒数X天的日图 |
n | 1 | 是 | 获取从今天起倒数X天后的N张日图 |
示例请求链接
1,请求链接( https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1 ),代表以JSON格式输出数据,获取今天的1张日图
2,请求链接( https://www.bing.com/HPImageArchive.aspx?format=js&idx=1&n=1 ) ,代表以JSON格式输出数据,获取昨天的1张日图
3,请求链接( https://www.bing.com/HPImageArchive.aspx?format=js&idx=2&n=2 ) ,代表以JSON格式输出数据,获取从今天起倒数2天后的2张日图
API返回例子
{
"images": [
{
"startdate": "20200805",
"fullstartdate": "202008051600",
"enddate": "20200806",
"url": "/th?id=OHR.SyltWenningstedt_ZH-CN4548332628_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp",
"urlbase": "/th?id=OHR.SyltWenningstedt_ZH-CN4548332628",
"copyright": "通往海滩的木板路,德国叙尔特岛 (© Kerstin Bittner/Westend61/Offset by Shutterstock)",
"copyrightlink": "https://www.bing.com/search?q=%E5%8F%99%E5%B0%94%E7%89%B9%E5%B2%9B&form=hpcapt&mkt=zh-cn",
"title": "",
"quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20200805_SyltWenningstedt%22&FORM=HPQUIZ",
"wp": true,
"hsh": "a54d49ada232d8593dca61d491494e5a",
"drk": 1,
"top": 1,
"bot": 1,
"hs": []
}
],
"tooltips": {
"loading": "正在加载...",
"previous": "上一个图像",
"next": "下一个图像",
"walle": "此图片不能下载用作壁纸。",
"walls": "下载今日美图。仅限用作桌面壁纸。"
}
}
返回参数
此处仅介绍常用的参数
类型 | 描述 | |
images | 数组 | 返回的日图信息 |
enddate | 字符串 | 日期 |
url | 字符串 | 日图URL链接(注:需要在前面加上域名bing.com) |
copyright | 字符串 | 日图描述及版权信息 |
示例代码
本示例代码使用PHP编写,测试版本为PHP7.4,测试已通过
<?php
//参数
$format="js"; //以JSON格式输出
$day="0"; //获取今日的日图
$number="1"; //获取今日起的1张日图
//拼接URL
$url="https://www.bing.com/HPImageArchive.aspx?format=".$format."&idx=".$day."&n=".$number;
//发起GET请求
$json=file_get_contents($url);
$json_decode=json_decode($json,true); //将JSON转换为数组
$daily["day"]=$json_decode["images"][0]["enddate"]; //日图日期
$daily_url=$json_decode["images"][0]["url"]; //日图链接
$daily["url"]="https://bing.com".$daily_url; //拼接日图链接
$daily["description"]=$json_decode["images"][0]["copyright"]; //日图描述及版权
$daily_json=json_encode($daily); //将数组转换为JSON
echo $daily_json; //输出JSON
代码输出示例
{
"day": "20200501",
"url": "https:\/\/bing.com\/th?id=OHR.BurgAltdahn_ZH-CN8281669977_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp",
"description": "\u8fbe\u6069\u9644\u8fd1\u666e\u6cd5\u5c14\u8328\u68ee\u6797\u4e2d\u7684Altdahn\u57ce\u5821\uff0c\u5fb7\u56fd\u83b1\u8335\u5170-\u666e\u6cd5\u5c14\u8328(Dahn Rockland), Palatinate Forest, Rhineland-Palatinate, Germany (\u00a9 Reinhard Schmid\/Huber\/eStock Photo)"
}
结语
欢迎关注我们的微信公众号“Lime Network”来获取更多关于动态,如果喜欢,可以通过页面下方的赞赏码支持我