• 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 "
    ";
    34     }

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

  • 相关阅读:
    基于MongoDB.Driver的扩展
    通用查询设计思想
    API接口通讯参数规范
    lambda简单记录
    list去重精简代码版
    spring boot file上传
    fastjson过滤器简单记录
    java读取properties文件
    list循环删除单个元素
    MapReduce运行流程分析
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6412117.html
Copyright © 2020-2023  润新知