使用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-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
phpcms模块开发之swfupload的使用介绍
Apr 28 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
PHP登录环节防止sql注入的方法浅析
Jun 30 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
laravel Model 执行事务的实现
Oct 10 PHP
PHP实现简单登录界面
Oct 23 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 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防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
经销商培训邀请函
2014/01/21 职场文书
高二政治教学反思
2014/02/01 职场文书
四个太阳教学反思
2014/02/01 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
汽修专业自荐信
2014/07/07 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
解约证明模板
2015/06/19 职场文书
小学语文国培研修日志
2015/11/13 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
redis限流的实际应用
2021/04/24 Redis
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫
浅析Python OpenCV三种滤镜效果
2022/04/11 Python