bing图片每日更新,对于这一点感觉挺不错的,如果能够把bing每日图片进行调用,用于各种场景还是不错的选择。
下面分享bing图片接口api,通过抓包,可以发现
http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
这里可以获取到无水印的图片。
接口显示结果:
{
images: [
{
startdate: "20220407"
fullstartdate: "202204071600"
enddate: "20220408"
url: "/th?id=OHR.PontaDelgada_ZH-CN8596828822_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp"
urlbase: "/th?id=OHR.PontaDelgada_ZH-CN8596828822"
copyright: "蓬塔德尔加达附近的海岸,葡萄牙 (© Jan Wlodarczyk/Alamy)"
copyrightlink: https://www.bing.com/search?q=%E8%93%AC%E5%A1%94%E5%BE%B7%E5%B0%94%E5%8A%A0%E8%BE%BE&form=hpcapt&mkt=zh-cn
title: "去亚速尔群岛游玩"
quiz: "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20220407_PontaDelgada%22&FORM=HPQUIZ"
wp: true
hsh: "e13e5b798a6d82a61b2a593a91e470a1"
drk: 1
top: 1
bot: 1
hs: [ ]
}
]
tooltips: {
loading: "正在加载..."
previous: "上一个图像"
next: "下一个图像"
walle: "此图片不能下载用作壁纸。"
walls: "下载今日美图。仅限用作桌面壁纸。"
}
}
我们发现这一串就是图片的地址了
url: "/th?id=OHR.PontaDelgada_ZH-CN8596828822_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp"
在知道以上信息后,我们就可以开始编写代码,进行图片调用。
这里我们采用正则匹配的方式获取地址,当然也有其他的方法。
代码如下:
<?php
/**
*Bing图片获取
*/
$str = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
if(preg_match("/<url>(.+?)</url>/ies",$str,$matches)){
$imgurl='https://cn.bing.com'.$matches[1];
}else{
exit('error');
}
header("Location: $imgurl");
?>
新建一个php文件,把代码放进去,打开文件就可以使用了。
代码可自行查找资料理解,这里不细说了
因为上面提供的代码使用了preg_match()函数,但值得注意的是在部分版本的PHP中使用可能会报错。
建议使用 PHP5.6 。