微软的Bing搜索引擎首页每天都会展示全球各地的高清图片,这些图片质量上乘,非常适合用作每日壁纸。更为重要的是,这些图片没有任何水印,完全可以免费使用于个人桌面背景(请注意,这些图片受微软官方版权保护,仅限于非商业用途)。
最近,在闲暇时间研究了一下Bing的主页数据接口,成功采集到了每日壁纸的数据源接口地址。相信未来微软可能会将这一功能集成到系统中,成为内置的壁纸更新服务。
Bing每日壁纸API接口解析
通过一番研究发现,Bing每日壁纸的数据接口非常容易获取和使用。以下是详细的接口信息和调用方法:
接口地址
https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=1540029653784&pid=hp#/
返回数据格式
调用上述接口后,会返回以下JSON格式的数据:
{
"images": [{
"startdate": "20211205",
"fullstartdate": "202112051600",
"enddate": "20211206",
"url": "/th?id=OHR.MistyTor_ZH-CN7520952555_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp",
"urlbase": "/th?id=OHR.MistyTor_ZH-CN7520952555",
"copyright": "薄雾中的格拉斯顿伯里托尔,英格兰萨默塞特郡 (? DEEPOL by plainpicture/Adam Burton)",
"copyrightlink": "/search?q=%e8%90%a8%e5%b0%94%e5%af%9f%e8%b5%ab%e6%b2%b3&form=hpcapt&mkt=zh-cn",
"title": "",
"quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20211205_MistyTor%22&FORM=HPQUIZ",
"wp": true,
"hsh": "eedd59e6531305da8564fe46a599759a",
"drk": 1,
"top": 1,
"bot": 1,
"hs": []
}],
"tooltips": {
"loading": "正在加载...",
"previous": "上一个图像",
"next": "下一个图像",
"walle": "此图片不能下载用作壁纸。",
"walls": "下载今日美图。仅限用作桌面壁纸。"
}
}
图片URL拼接方法
从返回的JSON数据中提取url字段,然后将其与Bing官网域名进行拼接,即可获得完整的图片URL:
https://www.bing.com/th?id=OHR.MistyTor_ZH-CN7520952555_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp
开发者友好提示
为了方便开发者使用,已经有网友对Bing的每日壁纸接口进行了二次封装。这类接口在网络上应该能找到很多版本,您可以根据自己的需求选择合适的方式调用。
如果需要使用C#语言来实现对接,则可以参考以下示例代码:
using System; using System.Net.Http; using Newtonsoft.Json.Linq; class Program { static async void Main() { var client = new HttpClient(); var response = await client.GetAsync("https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"); var json = await response.Content.ReadAsStringAsync(); var rootObject = JObject.Parse(json); foreach (var image in rootObject["images"]) { string imageUrl = $"https://www.bing.com{image["url"]}"; Console.WriteLine(imageUrl); } } }
通过Bing每日壁纸API接口,可以轻松获取大量到高质量的壁纸资源。无论是个人使用还是开发集成,这一接口都提供了极大的便利性。