程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 使用php的HTTP請求的庫Requests實現美女圖片牆

使用php的HTTP請求的庫Requests實現美女圖片牆

編輯:PHP綜合

使用百度的接口獲取美女圖片,並用瀑布流的形式展示到自己的頁面中。

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的參數是攝影~~

當然小伙伴們也可以換成其他和諧資源,自由發揮下吧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved