使用PHP爬取Bing(必应搜索网)每日图形壁纸,Bing搜索的首页每天都会推送一张很漂亮的图片,把它保存下来,当做电脑桌面或是自己的网站背景图岂不美哉!!
既然要抓取这张图片,首先就得弄清这张图是从何而来的。经过对必应首页的抓包,我们可以获得首页图的获取API。它的格式是这样的:文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
这里有几个GET参数,它们的作用分别是:文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
n: 必要参数。这是输出信息的数量。比如n=1,即为1条,以此类推,至多输出8条。文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
format: 非必要。返回结果的格式,不存在或者等于xml时,输出为xml格式,等于js时,输出json格式文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
idx: 非必要。不存在或者等于0时,输出当天的图片,-1为已经预备用于明天显示的信息,1则为昨天的图片,以此类推,idx最多获取到前16天的图片信息文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
接下来就是用PHP去动态抓取了。PHP实现代码如下:文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
([^/isU', $str, $matches)) {
文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
文章源自灵鲨社区-https://www.0s52.com/jc/jsjc/7715.html
// 正则匹配抓取图片url
$imgurl = 'http://cn.bing.com'.$matches[1];
} else {
// 如果由于某些原因,没抓取到图片地址
echo "获取图片失败";
}
评论