采集练习(五) php 获得chrome扩展 微度新标签页 下的云壁纸(主要是美女壁纸)
认识chrome 扩展还是去年年中,在朋友的帮助下用goagentFQ,那时才知道有chrome 扩展这玩意,当时觉得很新奇。于是自己陆续装了些chrome扩展。
前不久偶然间在google play 安装了 微度新标签页 这个扩展,功能试了下还不错。前几天采集hao123的美女图,于是想采下 微度新标签页 下的云壁纸(里面的壁纸都是整理过的很多都是1080p的,质量也非常不错尤其是美女栏目),花费几个小时终于搞定。
采集分析 :
打开 微度新标签页 的云壁纸 时会ajax 获得一个json
http://hao.weidunewtab.com/cloudWallpaper/index.json
下拉加载图片很像瀑布流(我只知道名词,不是很清楚原理) 但一直没有ajax请求, 我一直找呀找一直没找到加载的图片的请求。
无意中点开图片 发现 图片的命名都是以数字命名的而且数字还有顺序(http://hao.weidunewtab.com/cloudWallpaper/Beauty/s_1337.jpg),于是我在去查看 那个json 发现json的 结构是 如下图
对比下图片发现有如下规律
Beauty 是对应的美女栏目;
1350-1000 表示图片的命名是从1350到1000;
后缀都是.jpg;
s_ 前缀表示小图 大图片没有前缀。
下面是代码:
/** * Created by JetBrains PhpStorm. * User: keygle * Date: 13-3-10 * Time: 下午9:44 * To change this template use File | Settings | File Templates. * 获得微度新标签的 云壁纸 美女不错 */ set_time_limit(0); $jsonUrl = "http://hao.weidunewtab.com/cloudWallpaper/index.json"; $dir = str_replace('\\','/',dirname(__FILE__)); $jsonData = @file_get_contents($jsonUrl); $imageList = json_decode($jsonData,1);//获得云壁纸 //相应栏目 及其 图片id 区间 Beauty => 1350-1000 表示美女栏目图片id 为1350-1000 351张图片 第一张为 http://hao.weidunewtab.com/cloudWallpaper/Beauty/s_1350.jpg foreach($imageList as $menu => $list){ $nums = array(); $nums = explode('-',$list); $imageDir = $dir.'/weidu/'.$menu.'/'; if(!file_exists($imageDir)){mkdir($imageDir,0777);} $imageUrl = "http://hao.weidunewtab.com/cloudWallpaper/"; for($i=$nums[1];$i<=$nums[0];$i++){ $image = @file_get_contents($imageUrl.$menu.'/'.$i.'.jpg'); @file_put_contents($imageDir.$i.'.jpg',$image); } }
采集试了下还不错。带宽不给力,我就采了几张。