码迷,mamicode.com
首页 > Web开发 > 详细

php抓取一个页面的图片

时间:2017-02-18 09:16:06      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:strlen   nts   str   each   名称   blog   nload   name   img   

思路:

1.找到一个页面

2.正则过滤所有的img

3.正则过滤出所有的src的属性

4.获取链接信息,写入文件 file_get_contents(), file_put_contents()

5.在cli模式下运行代码(浏览器运行可能内存爆掉,或运行超时)

代码:

 1 <?php
 2     //过滤所有的img
 3     $url = "http://www.ivsky.com/";
 4     $str = file_get_contents($url);
 5     $preg = ‘/<img[^>]*\/>/‘;
 6     preg_match_all($preg, $str, $matches);
 7     $matches = $matches[0];
 8 
 9     //获取src中的链接
10     $arr = [];
11     foreach($matches as $v){
12         $preg = ‘/http:\/\/.*.jpg/‘;
13         preg_match_all($preg, $v, $match);
14         $arr[] = $match[0][0];
15     }
16     //文件保存地址
17     $dir = ‘E:/abs/img/‘;
18 
19     foreach($arr as $k => $v){
20         //图片名称
21         $name = $dir . $k . ‘.jpg‘;
22         //下载
23         download($name, $v);
24     }
25     function download($name, $url){
26         if(!is_dir(dirname($name))){
27             mkdir(dirname($name));
28         }
29         $str = file_get_contents($url);
30         file_put_contents($name, $str);
31         //输出一些东西,要不窗口一直黑着,感觉怪怪的
32         echo strlen($str);
33         echo "\n";
34     }

注:仅供学习,如果侵犯到某人权利请联系我我.

php抓取一个页面的图片

标签:strlen   nts   str   each   名称   blog   nload   name   img   

原文地址:http://www.cnblogs.com/catcrazy/p/6412117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!