使用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 相关文章推荐
综合图片计数器
Oct 09 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
php常用文件操作函数汇总
Nov 22 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
laravel 解决crontab不执行的问题
Oct 22 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
Apr 26 PHP
php png失真的原因及解决办法
Oct 24 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
python如何删除文件、目录
2020/06/23 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
三维科技面试题
2013/07/27 面试题
单位创先争优活动方案
2014/01/26 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
初二学习计划书范文
2014/04/27 职场文书
初三语文教学计划
2015/01/22 职场文书
辞职信格式范文
2015/05/13 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书