使用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 相关文章推荐
在smarty中调用php内置函数的方法
Feb 07 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
php实现简单爬虫的开发
Mar 28 PHP
php数组分页实现方法
Apr 30 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
php实现的表单验证类完整示例
Aug 13 PHP
php简单检测404页面的方法示例
Aug 23 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 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实现的四则运算表达式计算实现代码
2011/08/02 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
JS的数组迭代方法
2015/02/05 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
js简单实现自动生成表格功能示例
2020/06/02 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
让python json encode datetime类型
2010/12/28 Python
Python中的文件和目录操作实现代码
2011/03/13 Python
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
公务员培训心得体会
2013/12/28 职场文书
会计职业生涯规划书
2014/01/13 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
股权收购意向书
2014/04/01 职场文书
影子教师研修方案
2014/06/14 职场文书
婚庆公司计划书
2014/09/15 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
财会专业大学生求职信
2014/09/26 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
大学校园招聘会感想
2015/08/10 职场文书
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技