两种小方法将Bing每日图片保存
本帖最后由 zjr001 于 2019-10-3 16:54 编辑可以将Bing搜索首页的每日图片保存到本地,或者服务器上。
NO.1 利用PHP方式Get
[*]新建一个php文件,并命名为bing-get.php(这个随便命名就可以)—也可以在文章底部下载已建好文件
[*]将下面代码输进去
[*]上传到主机或服务器
[*]在浏览器打开这个页面
[*]Get成功!在bing-get.php的同级目录下会多出temp文件夹和dat.txt文件
[*]temp文件夹下的图片就是必应首页图,dat.txt文件为保存的纪录
https://img.uixsj.cn/wp/2017/03/QQ%E6%88%AA%E5%9B%BE20170308191122.png
代码
<?php
$path = 'temp'; //设置图片缓存文件夹
$filename = date("Ymd") . '.jpg';//用年月日来命名新的文件名
if (!file_exists($path.'/'. $filename)) //如果文件不存在,则说明今天还没有进行缓存
{
if(!file_exists($path)) //如果目录不存在
{
mkdir($path, 0777); //创建缓存目录
}
$str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'); //读取必应api,获得相应数据
$str = json_decode($str,true);
$imgurl = 'http://cn.bing.com'.$str['images']['url']; //获取图片url
$img = grabImage($imgurl, $path.'/'.$filename); //读取并保存图片
$handle = fopen("dat.txt", "a"); //用于存放图片信息,如果不需要保存图片的相关信息,可以把下面这些去掉。
if ($handle)
{
$copyright = $str['images']['copyright']; //说明
$startdate = $str['images']['startdate'];
$fullstartdate = $str['images']['fullstartdate'];
$enddate = $str['images']['enddate'];
$urlbase = $str['images']['urlbase'];
$copyrightlink = $str['images']['copyrightlink'];
$quiz = $str['images']['quiz'];
$wp = $str['images']['wp'];
$hsh = $str['images']['hsh'];
$drk = $str['images']['drk'];
$top = $str['images']['top'];
$bot = $str['images']['bot'];
$tempArr = array("imgurl"=>$imgurl,"copyright"=>$copyright, "startdate"=>$startdate,
"fullstartdate"=>$fullstartdate, "enddate"=> $enddate, "urlbase"=>$urlbase,
"copyrightlink"=> $copyrightlink, "quiz"=>$quiz, "wp"=> $wp,
"hsh"=>$hsh,"drk"=>$drk, "top"=> $top, "bot"=> $bot); //将相关信息放进数组中
fwrite($handle, json_encode($tempArr) ."\r\n"); //最终以json格式保存在文本文档中
fclose($handle);
}
}
function grabImage($url, $filename = "")
{
if($url == "") return false; //如果$url地址为空,直接退出
if ($filename == "") //如果没有指定新的文件名
{
$ext = strrchr($url, ".");//得到$url的图片格式
$filename = date("Ymd") . $ext;//用天月面时分秒来命名新的文件名
}
ob_start(); //打开输出
readfile($url); //输出图片文件
$img = ob_get_contents(); //得到浏览器输出
ob_end_clean(); //清除输出并关闭
$size = strlen($img); //得到图片大小
$fp2 = @fopen($filename, "a");
fwrite($fp2, $img); //向当前目录写入图片文件,并重新命名
fclose($fp2);
return $filename; //返回新的文件名
}
要想让它每日自动访问并下载,可以用360,阿里云等网站监控服务来监控这个网址就行。
NO.2 利用PowerShell方式Get
据说PowerShell是个非常强大的东西,可以参照文章。用这个方法获取每日图片也证明它确实挺强大。。 这种方法跟上面那种方法不同的是 它可以一次下载Bing首页的全部每日图片,但是要每天手动点开来。。
方法
[*]新建一个bing.ps1文件(注意后缀是ps1)—也可以在文章底部下载已建好文件
[*]将下面代码输入进去
[*]右键,选择“使用PowerShell运行”…(PowerShell程序是Windows系统自带的!)
[*]啪啪,桌面上多了一个images文件夹
[*]Get成功!里面有8张Bing首页每日图,和一个jsons纪录文件夹
图图https://img.uixsj.cn/wp/2017/03/powershell20170308.pnghttps://img.uixsj.cn/wp/2017/03/QQ%E6%88%AA%E5%9B%BE20170308190835.pnghttps://img.uixsj.cn/wp/2017/03/QQ%E6%88%AA%E5%9B%BE20170308190846.pnghttps://img.uixsj.cn/wp/2017/03/QQ%E6%88%AA%E5%9B%BE20170308191057.png获取的8张图片就是Bing首页的图,可以在Bing首页右下角的箭头图标翻页查看。
https://img.uixsj.cn/wp/2017/03/QQ%E6%88%AA%E5%9B%BE20170308192920.png
下载信息
[*]名称:bing-get.php
[*]格式:zip
[*]大小:1.3KB
**** Hidden Message *****
两种小方法将Bing每日图片保存 如果您要查看本帖隐藏内容请回复 RE: 两种小方法将Bing每日图片保存 阿斯达达阿撒旦斯达
页:
[1]