随机显示必应每日一图,API代码及调用方法

talklee

温馨提示:这篇文章已超过894天没有更新,请注意相关的内容是否还可用!

主题有好多模板设置了分类的背景图,调用了第三方api但是最近第三方挂了,嗯嗯,这就是图省事不写代码的后果,一旦图片都失效,网站打开速度慢不说,图片的背景图还是灰蒙蒙一片,非常尴尬。。。百度了下必应每日api源代码有很多,但是随机显示的也都是调用人家自己的,这样就可能再次出现无法打开的情况,但是仅仅调用一张图片又略显单调(最烦我这种啥也不是,要求还多的人。。。),终于皇天不负有心人让我找到了一个随机显示必应图片的api调用方法,附上代码及适用教程

调用方法:(代码在下方)

API只支持https调用所有参数均仅适用于以 GET 方式进行请求,可直接插入img标签中

请求地址:(不要适用本站api代码,跨域)

https://www.talklee.com/api/bing/

调用参数:

参数代码参数含义可用参数
rand是否随机显示最近8天内的图片true or false
day显示指定的最近图片-1,0,1,2,3,4,5,6,7(0为今天,-1为昨天)
size指定获取图片大小详见下方可用分辨率
info获取图片基础信息(json格式)true or false
  • 以上所有参数均非必要,默认参数为rand=false,day=0,size=1920×1080,info=false

可用分辨率:

  • 1920×1080

  • 1366×768

  • 1280×768

  • 1024×768

  • 800×600

  • 800×480

  • 768×1280

  • 720×1280

  • 640×480

  • 480×800

  • 400×240

  • 320×240

  • 240×320

  • 注:中间的x为英文字母x

调用示例:

默认调用:显示效果

随机显示必应每日一图,API代码及调用方法 第1张

调用链接:

https://www.talklee.com/api/bing

不带任何参数调用,显示必应当天图片。

Info调用:

调用链接:

https://www.talklee.com/api/bing?info=true

返回值:

{
    title:Micheldever Wood的蓝铃花,英国汉普郡 (© Hursley/Getty Images Plus),
    url:https://www.bing.com/th?id=OHR.BluebellWood_ZH-CN8128422960_1920x1080.jpg,
    link:https://www.bing.com/search?q=%E8%93%9D%E9%93%83%E8%8A%B1&form=hpcapt&mkt=zh-cn,
    time:20200419
}

随机调用: (刷新本页,图片随机显示)

随机显示必应每日一图,API代码及调用方法 第2张

调用链接:(随机显示一张图片)

https://www.talklee.com/api/bing?rand=true

附教程和API代码:

首先在网站根目录新建一个php文件,例如:api.php,然后粘贴如下代码:

<?php
//判断是否随机调用
if ($_GET['rand']==='true') {
  $gettime = rand(-1,7);
}else{
//若不为随机调用则判断是否指定日期
  $gettimebase = $_GET['day'];
  if (empty($gettimebase)) {
    $gettime = 0;
  }else{
    $gettime = $gettimebase;
  }
}
//获取Bing Json信息
$json_string = file_get_contents('https://www.bing.com/HPImageArchive.aspx?format=js&idx='.$gettime.'&n=1');
//转换为PHP数组
$data = json_decode($json_string);
//提取基础url
$imgurlbase = "https://www.bing.com".$data->{"images"}[0]->{"urlbase"};
//判断是否指定图片大小
$imgsizebase = $_GET['size'];
if (empty($imgsizebase)){
  $imgsize = "1920x1080";
}else{
  $imgsize = $imgsizebase;
}
//建立完整url
$imgurl = $imgurlbase."_".$imgsize.".jpg";
//获取其他信息
$imgtime = $data->{"images"}[0]->{"startdate"};
$imgtitle = $data->{"images"}[0]->{"copyright"};
$imglink = $data->{"images"}[0]->{"copyrightlink"};
//判断是否只获取图片信息
if ($_GET['info']==='true') {
  echo "{title:".$imgtitle.",url:".$imgurl.",link:".$imglink.",time:".$imgtime."}";
}else{
  //若不是则跳转url
  header("Location: $imgurl");
}

保存文件,最后打开网页查看效果,如果有不同需求网址后面加“?参数代码=true(或者false)”,参考上面的参数表格,完整代码就是(以随机为例):https://网址/api.php?rand=true,酱婶儿的就OK啦,把这个链接放在主题模板的背景图接口就大功告成!

免责声明:本文来自Otstar Lin,不代表李洋个人博客的观点和立场,如有侵权请联系本平台处理。

发表评论

快捷回复: 表情:
评论列表 (有 13 条评论,12490人围观)
网友昵称:spoug
spoug V 游客 Google Chrome 90.0.4430.85 Windows 10 x64 地板
2021-04-25 来自天津 回复
大佬,我现在把你这个复制到我的网站里面,现在我整个服务器打开都是下载这个文件
网友昵称:talklee
talklee V 博主 Sogou Explorer Windows 10 x64
2021-04-26 来自上海 回复
@spoug 怎么可能?QQ找我。
网友昵称:丝袜室
丝袜室 V 游客 Google Chrome 83.0.4103.97 Windows 10 x64 凉席
2020-06-13 来自上海 回复
不错不错,拿走了[Sinistersmile]
网友昵称:talklee
talklee V 博主 Sogou Explorer Windows 10 x64
2020-06-15 来自上海 回复
@丝袜室 OK!
网友昵称:scy
scy V 游客 Google Chrome 80.0.3987.116 Windows 10 x64 板凳
2020-04-23 来自上海 回复
很好很强大
网友昵称:talklee
talklee V 博主 Sogou Explorer Windows 10 x64
2020-04-24 来自天津 回复
@scy 谢谢您的肯定与支持!
网友昵称:一枚菜鸡
一枚菜鸡 V 游客 IBrowse r Huawei Browser 椅子
2020-04-21 来自上海 回复
博主,出一个你网站的头部滚动特效呗赞
网友昵称:talklee
talklee V 博主 Sogou Explorer Windows 10 x64
2020-04-22 来自天津 回复
@一枚菜鸡 教程已发,请前往博客(https://www.talklee.com/blog/502.html)查看相关教程!
网友昵称:talklee
talklee V 博主 Sogou Explorer Windows 10 x64
2020-04-22 来自天津 回复
@一枚菜鸡 好的!
网友昵称:guanyujiang
guanyujiang V 游客 Safari 13.1 Mac OS X 10.13.6 沙发
2020-04-20 来自上海 回复
亲测网址这样设置才好用,https://网址/api.php?rand=true
网友昵称:talklee
talklee V 博主 Google Chrome 81.0.4044.96 GNU/Linux x64
2020-04-20 来自天津 回复
@guanyujiang 哈哈哈,对对对,是的,忘了php后缀啦
网友昵称:guanyujiang
guanyujiang V 游客 Safari 13.1 Mac OS X 10.13.6
2020-04-20 来自上海 回复
@talklee 你个坑货~我试了半天,还以为是我网络的问题~ 白眼.gif
网友昵称:talklee
talklee V 博主 Sogou Explorer Windows 10 x64
2020-04-21 来自天津 回复
@guanyujiang 哈哈,赖我赖我~

目录[+]