使用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 相关文章推荐
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
PHP递归算法的详细示例分析
Feb 19 PHP
PHP生成树的方法
Jul 28 PHP
PHP中each与list用法分析
Jan 08 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
php smtp实现发送邮件功能
Jun 22 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 PHP
浅谈PHP进程管理
Mar 08 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 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 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python与Redis的连接教程
2015/04/22 Python
快速入手Python字符编码
2016/08/03 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
python实现词法分析器
2019/01/31 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
浅谈django channels 路由误导
2020/05/28 Python
详细分析Python垃圾回收机制
2020/07/01 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
2014年社区庆元旦活动方案
2014/03/08 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android