获取Bing日图
本文最后更新于 165 天前,其中的信息可能已经有所发展或是发生改变。

前言

本文章介绍如何通过必应官方API获取Bing日图,在未来,Lime Network将会推出更便捷的接口

API方法

请求方法及参数

通过GET方法请求链接( https://www.bing.com/HPImageArchive.aspx ),并按照常规的GET方法编写并携带如下参数

示例取值是否必须描述
formatjs否,若缺省则返回XML格式输出格式
idx0获取从今天起倒数X天的日图
n1获取从今天起倒数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”来获取更多关于动态,如果喜欢,可以通过页面下方的赞赏码支持我

上一篇
下一篇