使用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 相关文章推荐
PHP4实际应用经验篇(9)
Oct 09 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
PHP 批量删除 sql语句
Jun 05 PHP
php flv视频时间获取函数
Jun 29 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
PHP使用函数用法详解
Sep 30 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
laravel 判断查询数据库返回值的例子
Oct 11 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提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
smarty简单入门实例
2014/11/28 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
python清除字符串里非数字字符的方法
2015/07/02 Python
Python实现计算最小编辑距离
2016/03/17 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
django项目搭建与Session使用详解
2018/10/10 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
医药专业推荐信
2013/11/15 职场文书
银行出纳岗位职责
2013/11/25 职场文书
养殖人员的创业计划书范文
2013/12/26 职场文书
12月红领巾广播稿
2014/02/13 职场文书
城管大队整治方案
2014/05/06 职场文书
排查整治工作方案
2014/06/09 职场文书
应急管理培训方案
2014/06/12 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书