使用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 xfocus防注入资料
Apr 27 PHP
检测png图片是否完整的php代码
Sep 06 PHP
php 不使用js实现页面跳转
Feb 11 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
php文件上传后端处理小技巧
May 22 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 PHP
PHP实现随机发放扑克牌
Apr 21 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
二级域名转向类
2006/11/09 Javascript
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
python批量爬取下载抖音视频
2019/06/17 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
网管求职信
2014/03/03 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
辛亥革命观后感
2015/06/02 职场文书
创业计划之特色精品店
2019/08/12 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL