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

http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1

一个是 json 方式,一个是 XML 的方式,我们用到的接口是https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1

这里的idx=0表示是显示当天的时间,如果要显示昨天的就将idx=0改为idx=1,以此类推。

注意:bing支持查看历史图片15天以内的,数字就有范围限制了(0-15)。

获取当日图片

我们有了接口就可以直接利用正则表达式去匹配相关字符串了。

下面给出一个获取并输出当日美图的php代码<?php

error_reporting(0);

if($_GET['idx']==null){

$str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');

}

$str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx='.$_GET['idx'].'&n=1');

if(preg_match("/(.+?)/ies",$str,$matches)){

$imgurl='http://cn.bing.com'.$matches[1];

}

if($imgurl){

header('Content-Type: image/JPEG');

@ob_end_clean();

@readfile($imgurl);

@flush(); @ob_flush();

exit();

}else{

exit('error');

}

?>

保存为bing.php,上传到服务器直接访问即可。

获取1920x1080高清图片版:<?php

error_reporting(0);

$s = $_GET['s'];

if($_GET['idx'] == ''){

$str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');

}

else{

$str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx='.$_GET['idx'].'&n=1');

}

if(preg_match("/(.+?)/ies",$str,$matches)){

$imgurl='http://cn.bing.com'.$matches[1];

if($s == 'big'){

$imgurl=str_replace("1366x768","1920x1080",$imgurl);

}

}

if($imgurl){

header('Content-Type: image/JPEG');

@ob_end_clean();

@readfile($imgurl);

@flush(); @ob_flush();

exit();

}else{

exit('error');

}

?>

保存为bing.php,上传到服务器直接访问bing.php?s=big即可访问高清图。

调用方法

获取图片版权介绍

获取完了图片,若有需要,再利用正则提取出图片版权信息<?php

error_reporting(0);

$url=file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');

if (preg_match("/(.+?)/ies", $url, $matches)) {

$imgcopyright=$matches[1];

}

if ($imgcopyright) {

header("Content-type: text/html; charset=utf-8");

echo $imgcopyright;

} else {

exit('error');

}

?>

自动保存bing图片

自动在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("/(.+?)/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();

?>

其他

最后再给大家分享一个 Bing 搜索引擎的小功能:

www.bing.com/?rb=0 //这个可以关闭 Bing 搜索引擎的背景图片哦

www.bing.com/?rb=1 //这个可以开启 Bing 搜索引擎的背景图片哦

php提取bing背景,PHP代码获取bing每日背景相关推荐

  1. 获取bing壁纸php,php获取bing每日壁纸的示例

    php获取bing每日壁纸的示例 这篇文章主要介绍了使用php获取bing每日壁纸的示例,需要的朋友可以参考下 代码如下: $str=file_get_contents('http://cn.bing ...

  2. 获取bing壁纸php,php获取bing每日壁纸示例分享

    php获取bing每日壁纸示例分享 复制代码 代码如下: $str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&am ...

  3. 百度css3背景图代码,CSS3 实现花式背景图案

    CSS3 gradient介绍一文中介绍了用渐变画实线条纹背景,事实上用渐变配合background背景图层可以创造出各种奇妙的背景效果,例如参照css3patterns.本篇就举几个例子介绍一下它们 ...

  4. php提取bing背景,php获取Bing美图

    微软的必应搜索的每日图片不得不说,都是经典,美得一塌糊涂. 看到很多把必应壁纸做电脑壁纸的软件,今天闲的蛋疼,就折腾了一下. 接口 我们用到的接口是https://cn.bing.com/HPImag ...

  5. 获取Bing主页的背景图片

    一直对爬虫比较感兴趣,但是一直没有深入学习,浮于表面,每次有使用需求,就写一个,写完就完,没有总结过,也没有继续深入学习. 但是,作为一个奔三的程序员菜鸟,还是先不要自暴自弃,以后自爆的机会还很多~. ...

  6. flask 自动换背景,使用python获取bing每日壁纸当作登陆背景图片

    欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...

  7. 【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景

    众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...

  8. java的jna电脑桌面背景_获取bing图片并自动设置为电脑桌面背景(使用 URLDownloadToFile API函数)...

    众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找 ...

  9. github电脑壁纸_GitHub - jadepeng/bing-wallpaper: Bing每日壁纸,自动获取Bing的精美图片设置为壁纸,并且支持随机切换历史壁纸,查看壁纸故事...

    Bing每日壁纸 发布一个开源小软件,Bing每日壁纸. 该小软件可以自动获取Bing的精美图片设置为壁纸,并且支持随机切换历史壁纸,查看壁纸故事. 欢迎大家下载使用,点star!有问题请留言或者提i ...

  10. 每日一记—获取Bing每一日一图实现Android欢迎页(二)

    日期2018.9.12 第二部分:获取bing每日一图 通过访问   http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n ...

最新文章

  1. Linux---输入与输出函数总结
  2. 无法检查指定的位置是否位于cfs上_打印机知识普及:七大原因导致的打印机无法打印及解决方法...
  3. HDFS 入门和基本操作
  4. django使用Paginator分页展示数据
  5. C++之临时对象、常引用和浅拷贝探究
  6. get和post方式传递参数
  7. Matter-JS Composites 混合材料 · 上
  8. WINDOWS使用命令行关闭休眠功能
  9. 28款数据恢复软件对比测试
  10. SpringMVC form中commandName报错问题
  11. 智能车改舵机中值步骤_智能车制作全过程(飞思卡尔---舵机篇)
  12. 高频故障-office背景有水印的解决方案
  13. 靠!我被项目经理和同事嘲笑了,因为不会远程debug调试...
  14. word目录制表符对齐
  15. Ubuntu下配置FreeRadius+L2TP+MySQL,实现限制用户流量和登录人数
  16. 福建厦门:企业征信报告 可多渠道查询
  17. ORA-12569: TNS: 包校验和失败解决方法一例
  18. Win10+Python3+OpenCV+CUDA——在win中配置OpenCV4.5并与Python环境绑定
  19. 运维 —— 1521端口不通
  20. scada系统集成_设计 SCADA 应用程序软件

热门文章

  1. 2020国际机器翻译大赛:火山翻译力夺五项冠军
  2. 从零实现深度学习框架——逻辑回归中的数值稳定
  3. 吴恩达深度学习——机器学习策略(一)
  4. 一文弄懂nginx反向代理和负载均衡
  5. 人工神经网络之Python 实战
  6. 深入灵魂的共鸣 (《梦断代码》读后感)
  7. 在python中的使用Libsvm
  8. C/C++集成开发环境搭建
  9. 程序员实用算法 源码_程序员必须知道的十大基础实用算法综述
  10. python按键退出循环_python – 按退出键退出循环