您现在的位置:首页技术文章正文

分享一个高清壁纸的api

  • 时间:2019年09月24日
  • 浏览:3864
  • 标签:php

背景        

某次在用360卫士时,发现它自带的一款小鸟壁纸上面的壁纸很漂亮,而且壁纸种类也很丰富。


小鸟壁纸

下面正式开始抓包,我们这里使用的是一款名为“SRSniffer”的抓包软件。


接口一

切换到“最新”选项是抓包如下图:

       

api


        http://wp.birdpaper.com.cn/intf/newestList?pageno=1&count=10

这个接口很简单,?号后面带了两个参数,分别为pagenocount。而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;
}
?>


文章评论

头像:
名称:
内容:
提交评论
  • liu回复

    优秀

    2020年12月08日

    博主回复

    @liu

    2020年12月17日

  • 22回复

    22

    2019年11月13日

  • 阿吉回复

    已盗用

    2019年10月02日

  • 1