使用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的类树(支持无限分类)
Oct 09 PHP
PHP一些有意思的小区别
Dec 06 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
PHP之密码加密的几种方式
Jul 29 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 PHP
Smarty模板变量与调节器实例详解
Jul 20 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
Dec 10 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 带逗号千位符数字的处理方法
2012/01/10 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
python语言使用技巧分享
2016/05/31 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
Django如何实现上传图片功能
2019/08/16 Python
python实现简单银行管理系统
2019/10/25 Python
Python多线程获取返回值代码实例
2020/02/17 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
公司合作协议范文
2014/10/01 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
委托书格式要求
2015/01/28 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers