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抓取一个页面的图片的主要内容,如果未能解决你的问题,请参考以下文章
使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面