使用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 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
如何过滤高亮显示非法字符
Oct 09 PHP
smtp邮件发送一例
Oct 09 PHP
php中对xml读取的相关函数的介绍一
Jun 05 PHP
php FPDF类库应用实现代码
Mar 20 PHP
php 生成随机验证码图片代码
Feb 08 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
php向js函数传参的几种方法
Aug 10 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
PHP生成静态HTML页面最简单方法示例
Apr 09 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
php readfile()修改文件上传大小设置
Aug 11 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
编译问题
2006/10/09 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
chrome原生方法之数组
2011/11/30 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
flask开启多线程的具体方法
2020/08/02 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
超市总经理岗位职责
2014/02/02 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
护士医德医风自我评价
2014/09/15 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript