分享一个高清壁纸的api
- 时间:2019年09月24日
- 浏览:3864
- 标签:php
背景
某次在用360卫士时,发现它自带的一款小鸟壁纸上面的壁纸很漂亮,而且壁纸种类也很丰富。
小鸟壁纸
下面正式开始抓包,我们这里使用的是一款名为“SRSniffer”的抓包软件。
接口一
切换到“最新”选项是抓包如下图:
api
http://wp.birdpaper.com.cn/intf/newestList?pageno=1&count=10
这个接口很简单,?号后面带了两个参数,分别为pageno,count。而pageno代表页数,count代表每一页数量。
接口二
我们继续切换选项继续抓包结果如下:
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=36&pageno=1&count=10 //4K
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=6&pageno=1&count=10 //美女
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=30&pageno=1&count=10 //爱情
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=9&pageno=1&count=10 //风景
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=15&pageno=1&count=10 //小清新
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=26&pageno=1&count=10 //动漫
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=11&pageno=1&count=10 //明星
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=14&pageno=1&count=10 //萌宠
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=5&pageno=1&count=10 //游戏
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=12&pageno=1&count=10 //汽车
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=10&pageno=1&count=10 //更多->炫酷时尚
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=29&pageno=1&count=10 //更多->月历壁纸
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=7&pageno=1&count=10 //更多->影视剧照
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=13&pageno=1&count=10 //更多->节日美图
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=22&pageno=1&count=10 //更多->军事天地
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=16&pageno=1&count=10 //更多->劲爆体育
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=18&pageno=1&count=10 //更多->BABY秀
http://wp.birdpaper.com.cn/intf/GetListByCategory?cids=35&pageno=1&count=10 //更多->文字控
从上面接口可以看出唯一有区别的参数就是cids。不同的cids代表着不同的选项。是不是很简单?
接口三
继续抓取二级菜单接口
二级选项菜单
http://wp.birdpaper.com.cn/intf/GetListByHotTag?tag=秦时明月&pageno=1&count=10 //秦时明月
http://wp.birdpaper.com.cn/intf/GetListByHotTag?tag=国漫&pageno=1&count=10 //国漫
二级菜单接口传入不同的tag获取不同的选项壁纸。
接口四
最后只剩下搜索的接口了
搜索功能
http://wp.birdpaper.com.cn/intf/search?content=英雄联盟&pageno=1&count=10 //搜索
content参数为要搜索的内容。
好了,全部接口已经抓取完成了。点击此处前往体验
全部代码如下:
<?php
header('Content-Type:application/json;charset=utf-8');
$list = param('list'); /*获取get或者post发送的数据*/
switch($list){ /*对list的值判断*/
case 'New':
$page = param('page');
$count = param('count');
echojson(file_get_contents("http://wp.birdpaper.com.cn/intf/newestList?pageno={$page}&count={$count}"));
break;
case 'Category':
$cids = param('content');
$page = param('page');
$count = param('count');
echojson(file_get_contents("http://wp.birdpaper.com.cn/intf/GetListByCategory?cids={$cids}&pageno={$page}&count={$count}"));
break;
case 'HotTag':
$tag = param('content');
$page = param('page');
$count = param('count');
echojson(file_get_contents("http://wp.birdpaper.com.cn/intf/GetListByHotTag?tag={$tag}&pageno={$page}&count={$count}"));
break;
case 'Search':
$content = param('content');
$page = param('page');
$count = param('count');
echojson(file_get_contents("http://wp.birdpaper.com.cn/intf/search?content={$content}&pageno={$page}&count={$count}"));
break;
}
function param($key){ /*获取get或者post发送的数据*/
return isset($_GET[$key])||isset($_POST[$key])?(isset($_GET[$key])?$_GET[$key]:$_POST[$key]):"";
}
function echojson($data){ /*返回json格式的数据*/
echo $data;
}
?>