使用php的HTTP请求的库Requests实现美女图片墙

 这篇文章主要介绍了使用php的HTTP请求的库Requests实现美女图片墙的方法,十分简单实用,需要的朋友可以参考下

 
 

使用百度的接口获取美女图片,并用瀑布流的形式展示到自己的页面中。

github项目地址:https://github.com/CraryPrimitiveMan/pretty

最终效果如下:

点开百度图片的美女频道,http://image.baidu.com/channel?c=%E7%BE%8E%E5%A5%B3#%E7%BE%8E%E5%A5%B3

打开chrome的调试工具或者firefox的firebug工具,将滚动条拖到最下面,可以再network中看到如下请求:

其参数如下:

通过分析,推断并验证了其中字段的含义,col表示频道,tag表示的是全部的美女,也可以是其他Tag(其内容如下图),pn表示从第几张图片开始,rn表示获取多少张

其返回值如下:

分析imgs中的内容,选出自己想要的属性,我确定要使用shareUrl。

这样我们就可以用PHP的Curl根据百度的API获取到美女图片了。

在php中可以这样写:

?

1
2
3
4
5
6
7
8
9
10
11

<?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的参数是摄影~~

当然小伙伴们也可以换成其他和谐资源,自由发挥下吧。

时间: 2024-12-23 22:24:54

使用php的HTTP请求的库Requests实现美女图片墙的相关文章

使用php的HTTP请求的库Requests实现美女图片墙_php实例

使用百度的接口获取美女图片,并用瀑布流的形式展示到自己的页面中. github项目地址:https://github.com/CraryPrimitiveMan/pretty 最终效果如下: 点开百度图片的美女频道,http://image.baidu.com/channel?c=%E7%BE%8E%E5%A5%B3#%E7%BE%8E%E5%A5%B3 打开chrome的调试工具或者firefox的firebug工具,将滚动条拖到最下面,可以再network中看到如下请求: 其参数如下: 通过

c++-关于如何用swflib库将一组jpg图片合称为动态swf文件

问题描述 关于如何用swflib库将一组jpg图片合称为动态swf文件 大神们好,我是第一次在这里发帖,现在项目遇到的问题是用C++将一组jpg图片合成为一个动态的swf文件,我在网上查到了swflib这个类库,研究了下代码感觉应该能实现,但本人才疏学浅,实在搞不出来.只有来这里求教各路大神了,不知道c币怎么弄,要是有人能帮到我省省伙食费支付宝感谢一下也没问题的,谢谢啦!附:(现在只能做到这个阶段,能移动,但是后面的图片不显示) void CSWFLIBTestProjectDlg::Creat

基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)_javascript技巧

最近由于公司项目需要图片查看器,网上搜了一圈,感觉资料很少,所以决定基于百度的touch.js手势库+zepto.js自己写了一个小插件,实现了左右滑动,双指缩放,双击缩放功能,基本使用还行,但是有时候还是不太顺畅,后续会慢慢完善:写的不好的地方望各位能够给出好的建议,谢谢! 源码地址:https://github.com/GLwen/molong_photoSwipe.git 演示:http://runjs.cn/detail/iceaaogh molong.css *{padding:0;m

库-libjpeg解码jpeg图片问题,具体怎么实现?

问题描述 libjpeg解码jpeg图片问题,具体怎么实现? 具体怎么解码,同时解码后解码后改变头信息?编译了libjpeg库后不会用啊. 解决方案 JPEG图片解码使用libjpeg解码jpeg图片 解决方案二: http://blog.chinaunix.net/uid-23983143-id-3343779.html

src-数据库里注册用户图片一栏为空

问题描述 数据库里注册用户图片一栏为空 注册用户界面如下: 其它的都有数据,为何图片的路径显示不出来呢 解决方案 图片路径你到底有没有存储呢?存储的话,又是什么格式的数据呢? 解决方案二: 图片就放在我本地文件夹,请问一下图片是要怎么存储呀 解决方案三: 图片就放在我本地文件夹,请问一下图片是要怎么存储呀 解决方案四: 图片就放在我本地文件夹,请问一下图片是要怎么存储呀

PHP 资源备忘

Awesome PHP 一个PHP资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等 贡献 详细内容请查看贡献 和 代码管理. 目录 Awesome PHP 依赖管理 Dependency Management 其他的依赖管理 Dependency Management Extras 框架 Frameworks 其他框架 Framework Extras 框架组件 Components 微型框架 Micro Frameworks

Python中Requests库的高级用法

前面讲了Python的urllib库的使用和方法,Python网络数据采集Urllib库的基本使用 ,Python的urllib高级用法 . 今天我们来学习下Python中Requests库的用法. Requests库的安装 利用 pip 安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话,就可以直接使用pip安装Python的库. $ pip install requests 安装完成之后,下面来看一下基

android 网络请求库volley方法详解_Android

使用volley进行网络请求:需先将volley包导入androidstudio中 File下的Project Structrue,点加号导包   volley网络请求步骤:       1. 创建请求队列       RequestQueue queue = Volley.newRequestQueue(this);       2.创建请求对象(3种)                            StringRequest request = new StringRequest("

Python 使用requests模块发送GET和POST请求的实现代码_python

①GET # -*- coding:utf-8 -*- import requests def get(url, datas=None): response = requests.get(url, params=datas) json = response.json() return json 注:参数datas为json格式 ②POST # -*- coding:utf-8 -*- import requests def post(url, datas=None): response = re