自动抓取必应首页壁纸

优质壁纸

必应搜索(bing.com)作为一个较为大型的搜索引擎,一直是一个最佳的壁纸网站,每天0点准时更新壁纸,并且图片质量非常不错。
本站一直抓取bing的首页图片,作为首页的封面,使用301跳转,意味着这张壁纸可能很大,但是不占用本站流量,使用的是bing.com的流量。同时还新增了返回https链接,便于HTTPS的网站能够显示小绿锁。
使用了memcache,每8个小时内,仅请求一次,减低延时,降低请求次数,没有安装memcache的情形下,可以先删除memcache相关代码。
其中,1920x1080.jpg可以修改为360x480.jpg1366x768.jpg等多种分辨率。

php代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
/*
* 获取Bing每日壁纸 YateSun 2016.02.25
*/
$memcache = new Memcache();
//$memcache->addServer("127.0.0.1", 11211);//memcached
$memcache->connect('127.0.0.1', 11211);
$url = $memcache->get('imgurl');
if(!$url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$re = curl_exec($ch);
curl_close($ch);
$re = json_decode($re,1);//电脑版返回内容
$url=$re['images'][0]['url'];
//$url=str_replace("http://s.cn.bing.net","https://www.bing.com",$url);
$url="https://www.bing.com".$url;
$memcache->set('imgurl',$url,0,8*60*60);
}
//Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: ".$url );
?>

在所有需要用到壁纸的页面,只需要将图片的url地址改为/get.php即可。