使用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语法(5)
Oct 09 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
php防注入及开发安全详细解析
Aug 09 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
php探针不显示内存解决方法
Sep 17 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 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文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
PHP 数字左侧自动补0
2008/03/31 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
python操作xml文件示例
2014/04/07 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python探索之修改Python搜索路径
2017/10/25 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
药剂学专业应届生自荐信
2013/09/29 职场文书
保安自我鉴定范文
2013/12/08 职场文书
饲料采购员岗位职责
2013/12/19 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
担保书范本
2015/01/20 职场文书
Python类方法总结讲解
2021/07/26 Python