Bing搜索每天都会更换一张精美的图片作为壁纸,除了特殊时候不太好看外(比如春节那几天),没多大问题。移动端还有上每日故事,与图片现配。现在我的博客首屏图片就是Bing每日壁纸,有没有感觉B格满满^_^。本文将介绍如何把Bing每日壁纸和故事扒到自己博客。
获取API接口
首先我们进入Bing首页,会发现自动转到中国版。不过这没关系,中国版更符合国情,速度也比国际版快一些。
通过抓包,可以发现http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
这里可以获取到无水印的图片。
那每日故事呢?通过模拟UA,访问移动版。同样发现了API接口http://cn.bing.com/cnhp/coverstory/
。不过这里的图片是有水印的。
接口已经得到了,接下来就是写代码了。因为我既想使用无水印的图片,也想获取每日故事,所以我把两个接口结合起来使用。
代码
使用示例
如果是wordpress,可以把上面的代码丢进function.php
,然后该怎么用就怎么用。
我的使用方法
因为我用的是静态博客,不能在后端完成这些操作,所以只能通过js获取。同时把代码放在国内访问较快的SAE
中,使用Memcache
缓存内容。而且我在获取后还把数据储存在localStorage
中,这样可以减少请求次数。
为什么要缓存?因为不缓存的话,别人每访问一次你都要获取一次,IP可能会被被Bing ban了。
当然,你也可以缓存到数据库中,这些你都可以结合实际情况修改代码。
PHP in SAE
HTML
CSS
JS
如果你使用jQuery
,可以把这里的ajax换成$.ajax()实现。