Bing 图片API

2020年5月2日 0 条评论 187 次阅读 0 人点赞

总所周知,必应(https://cn.bing.com/)每天都会更新新的背景壁纸,那么既然这样的话,是不是可以通过接口来将其放置到网站的背景上去呢?

(想直接看API使用方法的请移步最后一节)

今日图片:

Bing原生API


可以通过bing官网的F12查看到有一个XHR请求,地址是 :

https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=1588396583427&pid=hp&toWww=1&redig=C2F070008D8F4FABA3D450497AD5D0A6

其中,返回的json数据中包含了图片的地址,相应的相关信息页面,以及图片的相关介绍信息。我们删除一些无用的query参数,可以得到以下有效访问的地址:

https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1

format参数为返回的数据格式,目前已知支持xml以及json。

idx参数为日期偏移量,0为今天的图片,1为昨天,2为前天,以此类推。

n参数为返回的图片数量,至少是1。

返回的参数中,

url为默认1920*1080分辨率的图片地址;

urlbase为基础地址,可以在后面添加“_[分辨率].jpg”来指定分辨率(并不是任意分辨率)

copyright为图片的相关介绍;

copyrightlink为图片相关页面地址

原生API使用及问题


看起来一切万事俱备了对吗?是不是认为把官方的地址拿来直接调用就可以了?

哈哈哈哈,其实并不可以。由于对于安全性的考虑,其中存在跨域的问题,你会发现浏览器进行了报错,报错信息中有“Cross-Orign”的字样。

所以并不能直接使用。但是我们可以使用直接访问然后中转的方式(也就是代理)来解决这个问题。

于是,我就用Node写了一个API,并且支持跨域,通过这个地址来及你先调用,就可以解决官方不支持跨域的问题。

API使用方法及地址


API地址为:47.103.144.215:2020
源码地址为: https://github.com/chengjunchao/bing-pic-api

访问之后你可以看到相应的文档,调用方式以及需要传入的参数。

点击这里可以查看今日的图片

  • 今日图片调用地址:47.103.144.215:2020/today?id=?[&res=?]
  • 原生接口(与官方返回值一致):http://47.103.144.215:2020/bing?idx=0&n=1

注:
1.由于存储空间的问题,目前暂未将图片存储于服务器,而是以获取后返回二进制数据的方式转发至访问地址,如需要存储以及随机背景图片的,后期可以考虑增加相应功能。
2.我并不能保证API地址永远有效,所以建议取得源码后自行搭建node环境运行。


如有任何疑问和问题,欢迎在下方留言!感谢使用!

如果本篇文章帮助到了你, 希望可以收藏点赞呦!(如果有赞助就更好啦~)ღ( ´・ᴗ・` )比心~

chao

chao

这个人太懒什么东西都没留下

期待你的神评呦~

avatar
  订阅  
提醒