使用php的HTTP请求的库Requests实现美女图片墙


Posted in PHP onFebruary 22, 2015

使用百度的接口获取美女图片,并用瀑布流的形式展示到自己的页面中。

github项目地址:https://github.com/CraryPrimitiveMan/pretty

最终效果如下:

使用php的HTTP请求的库Requests实现美女图片墙

点开百度图片的美女频道,http://image.baidu.com/channel?c=%E7%BE%8E%E5%A5%B3#%E7%BE%8E%E5%A5%B3

打开chrome的调试工具或者firefox的firebug工具,将滚动条拖到最下面,可以再network中看到如下请求:

使用php的HTTP请求的库Requests实现美女图片墙

其参数如下:

使用php的HTTP请求的库Requests实现美女图片墙

通过分析,推断并验证了其中字段的含义,col表示频道,tag表示的是全部的美女,也可以是其他Tag(其内容如下图),pn表示从第几张图片开始,rn表示获取多少张

使用php的HTTP请求的库Requests实现美女图片墙

其返回值如下:

使用php的HTTP请求的库Requests实现美女图片墙

分析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的参数是摄影~~

当然小伙伴们也可以换成其他和谐资源,自由发挥下吧。

PHP 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
php下删除字符串中HTML标签的函数
Aug 27 PHP
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
解析在zend Farmework下如何创立一个FORM表单
Jun 28 PHP
php curl选项列表(超详细)
Jul 01 PHP
php上传文件问题汇总
Jan 30 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
详解php比较操作符的安全问题
Dec 03 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
PDO::_construct讲解
Jan 27 PHP
十幅图告诉你什么是PHP引用
Feb 22 #PHP
PHP的引用详解
Feb 22 #PHP
PHP实现加密的几种方式介绍
Feb 22 #PHP
php使用parse_url和parse_str解析URL
Feb 22 #PHP
php的闭包(Closure)匿名函数详解
Feb 22 #PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 #PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 #PHP
You might like
php一些公用函数的集合
2008/03/27 PHP
php Ajax乱码
2008/04/09 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
nodeJS微信分享
2017/12/20 NodeJs
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
Eclipse + Python 的安装与配置流程
2013/03/05 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
美德好少年主要事迹
2014/01/29 职场文书
高三家长寄语
2014/04/03 职场文书
房产公证书范本
2014/04/10 职场文书
营销学习心得体会
2014/09/12 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
学籍证明模板
2014/11/21 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书