微软的必应搜索的每日图片不得不说,都是经典,美得一塌糊涂。 看到很多把必应壁纸做电脑壁纸的软件,今天闲的蛋疼,就折腾了一下。
我们用到的接口是https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1 这里的idx=0表示是显示当天的时间,如果要显示昨天的就将idx=0改为idx=1,以此类推。 注意:bing支持查看历史图片15天以内的,数字就有范围限制了(0-15)。
我们有了接口就可以直接利用正则表达式去匹配相关字符串了。 下面给出一个获取并输出当日美图的php代码
<?php
$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];
}
if ($imgurl) {
header('Content-Type: image/JPEG');
@ob_end_clean();
@readfile($imgurl);
@flush();
@ob_flush();
exit();
} else {
exit('error');
}
?>
保存为bingpic.php,上传到服务器直接访问即可。
有了图片,没有文字怎么能满足饥渴的我,还是利用正则提取出图片版权信息
<?php
$url=file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
if (preg_match("/<copyright>(.+?)<\/copyright>/ies", $url, $matches)) {
$imgcopyright=$matches[1];
}
if ($imgcopyright) {
header("Content-type: text/html; charset=utf-8");
echo $imgcopyright;
} else {
exit('error');
}
?>
tip:修改相关参数即可实现对应的文字说明
自动在php文件同级目录下创建一个当前年月的文件夹,保存每天的bing美图并输出
<?php
error_reporting(0);
$path=date('Ym');
if (!file_exists($path)) {
mkdir($path, 0777);
}
$pathurl = $path.'/'.date('d').'.jpg';
if (!is_file($pathurl)) {
$str=file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
if (preg_match("/<urlBase>(.+?)<\/urlBase>/ies", $str, $matches)) {
$imgurl='https://s.cn.bing.com'.$matches[1].'_1920x1080.jpg';
copy($imgurl, $pathurl);
}
}
header('Content-Type: image/JPEG');
@ob_end_clean();
@readfile($pathurl);
@flush();
@ob_flush();
exit();
?>
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有