使用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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
PHP print类函数使用总结
Jun 25 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
golang 调用 php7详解及实例
Jan 04 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
php中的explode()函数实例介绍
Jan 18 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 PHP
PHP大文件及断点续传下载实现代码
Aug 18 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读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
ES6 十大特性简介
2020/12/09 Javascript
Python列表推导式的使用方法
2013/11/21 Python
Python数据结构之Array用法实例
2014/10/09 Python
python实现简单遗传算法
2018/03/19 Python
Python正则表达式指南 推荐
2018/10/09 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python编写猜数字小游戏
2019/10/06 Python
如何基于python操作excel并获取内容
2019/12/24 Python
python实现取余操作的简单实例
2020/08/16 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
化工机械应届生求职信
2013/11/04 职场文书
事业单位接收函
2014/01/10 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
夜不归宿检讨书
2014/02/25 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
承兑汇票延期证明
2015/06/23 职场文书
Spring实现内置监听器
2021/07/09 Java/Android
php访问对象中的成员的实例方法
2021/11/17 PHP
Vue.Draggable实现交换位置
2022/04/07 Vue.js