使用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 REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
PHP版自动生成文章摘要
Jul 23 PHP
如何用php获取文件名后缀
Jun 09 PHP
php 邮件发送问题解决
Mar 22 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
php类自动加载器实现方法
Jul 28 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
PHP中的Session对象如何使用
Sep 25 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP与Web页面的交互示例详解一
Aug 04 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
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
功能强大的php文件上传类
2016/08/29 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
详解javascript对数组和json数组的操作
2019/04/15 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python中列表和元组的区别
2017/12/18 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
20行python代码实现人脸识别
2019/05/05 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
机关节能减排实施方案
2014/03/17 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
公务员个人总结
2015/02/12 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
Linux磁盘管理方法介绍
2022/06/01 Servers
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技