使用百度的接口獲取美女圖片,並用瀑布流的形式展示到自己的頁面中。
github項目地址:https://github.com/CraryPrimitiveMan/pretty
最終效果如下:
點開百度圖片的美女頻道,http://image.baidu.com/channel?c=%E7%BE%8E%E5%A5%B3#%E7%BE%8E%E5%A5%B3
打開chrome的調試工具或者firefox的firebug工具,將滾動條拖到最下面,可以再network中看到如下請求:
其參數如下:
通過分析,推斷並驗證了其中字段的含義,col表示頻道,tag表示的是全部的美女,也可以是其他Tag(其內容如下圖),pn表示從第幾張圖片開始,rn表示獲取多少張
其返回值如下:
分析imgs中的內容,選出自己想要的屬性,我確定要使用shareUrl。
這樣我們就可以用PHP的Curl根據百度的API獲取到美女圖片了。
在php中可以這樣寫:
<?php require_once './Requests/library/Requests.php'; Requests::register_autoloader(); $page = $_GET['page']; $pageSize = 10; $options = array('Host'=>'image.baidu.com'); $url = 'http://image.baidu.com/data/imgs?sort=0&pn=' . $page * $pageSize . '&rn=' . $pageSize . '&col=美女&tag=全部&tag3=&p=channel&from=1'; $response = Requests::get($url, $options); echo $response->body; ?>
其中的Requests 是一個PHP的HTTP請求的庫,地址:http://requests.ryanmccue.info/
其中的美女也可以替換成其他頻道。
之後就是去展示圖片,使用了一個瀑布流的插件實現。
最終的代碼都放到了我的Github上,項目地址:https://github.com/CraryPrimitiveMan/pretty
只不過github上的col的參數是攝影~~
當然小伙伴們也可以換成其他和諧資源,自由發揮下吧。