php抓取一个页面的图片

Posted cat_crazy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php抓取一个页面的图片相关的知识,希望对你有一定的参考价值。

思路:

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抓取一个页面的图片的主要内容,如果未能解决你的问题,请参考以下文章

PHP抓取远程图片到本地保存

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

php 一个短代码片段准备在WooCommerce Thank You页面上输出货件跟踪UI。

php如何通过URL批量下载图片,这些图片是设计作品,

php抓取页面的几种方式

PHP cURL抓取网上图片