zoukankan      html  css  js  c++  java
  • 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     }

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

  • 相关阅读:
    在位图上写字
    删除文件到回收站中
    Blog改名字了
    [C#]强类型
    [C#] 如何选择一个目录
    [.NET]Visual Studio 2003的一个bug
    PHP句法规则详解
    php获取本地实际IP
    从0开始学编程(1)115 大致了解
    httpd2.2.21 + php5.3.8 自动安装脚本
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6412117.html
Copyright © 2011-2022 走看看