前言
Bing
图片从来都不会重复,这些图片都是由必应的团队精挑细选的美图,网络上自动将必应壁纸保存到服务器本地的PHP
代码很多,由于我自己的服务器带宽比较小,将bing
壁纸保存到服务器本地并作为网站背景时加载速度太慢会影响观感,那么,如果可以把直接 Bing
的每日图片接口通过PHP设置为博客背景会不会更好看呢?
接口
进行抓包,我们可以知道这个链接 https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
获取图片
通过抓包显示结果:
{"images":[{"startdate":"20211129","fullstartdate":"202111291600","enddate":"20211130","url":"/th?id=OHR.ElephantGiving_ZH-CN9743352473_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp","urlbase":"/th?id=OHR.ElephantGiving_ZH-CN9743352473","copyright":"马赛马拉国家保护区中的非洲草原象,肯尼亚 (© Yva Momatiuk and John Eastcott/Minden Pictures)","copyrightlink":"https://www.bing.com/search?q=%E9%9D%9E%E6%B4%B2%E8%8D%89%E5%8E%9F%E8%B1%A1&form=hpcapt&mkt=zh-cn","title":"","quiz":"/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20211129_ElephantGiving%22&FORM=HPQUIZ","wp":true,"hsh":"e9a2162e9a4784993285642a017c0693","drk":1,"top":1,"bot":1,"hs":[]}],"tooltips":{"loading":"正在加载...","previous":"上一个图像","next":"下一个图像","walle":"此图片不能下载用作壁纸。","walls":"下载今日美图。仅限用作桌面壁纸。"}}
我们从中提取图片链接,url地址:
/th?id=OHR.ElephantGiving_ZH-CN9743352473_1920x1080.jpg&rf=LaDigue_1920x1080.jpg
以下是将必应每日图片通过 php 直接输出分辨率为1920X1080的图片的代码
<?php
$str=file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
if (preg_match("/<urlBase>(.+?)<\/urlBase>/", $str, $matches)) {
$imgurl='https://cn.bing.com'.$matches[1].'_1920x1080.jpg';
}
if ($imgurl) {
header('Content-Type: image/JPEG');
@ob_end_clean();
@readfile($imgurl);
@flush();
@ob_flush();
exit();
} else {
exit('error');
}
?>
如何浏览昨天,前天的图片
http://cn.bing.com/HPImageArchive.aspx?idx=`0`&n=1 在这里,更换 idx= 这个参数就可以了。
http://cn.bing.com/HPImageArchive.aspx?idx=`1`&n=1 将要得到昨天的图片
http://cn.bing.com/HPImageArchive.aspx?idx=`2`&n=1 得到前天的图片
自用接口
今日:https://www.5k5b.com/img/bing.php
昨日:https://www.5k5b.com/img/bing1.php
前日:https://www.5k5b.com/img/bing2.php
至此,自己的接口就搭建完了,那么如何把他运用到网站背景 并实现被日自动切换呢?
教程
1.在外观设置开关
中打开炫酷透明模式
2.在外观设置
-背景颜色/图片
中填入自己搭建的bing每日图片接口
保存即可,刷新博客首页看看效果吧~~~