zoukankan      html  css  js  c++  java
  • PHP curl 采集内容之规则 及图片下载方法2

    /**
     *抓取远程图片到本地
     */
    // 方法一
    $url = '';
    $img = file_get_contents($url);
    file_put_contents('1.png',$img);
    
    // 方法二
    class Spider {
    
     /*
      * @param string $url,图片路径,如: http://www.xxx.com/1.jpg
      * @param string $path, 存放的目录
      */
    public function downloadImage($url, $path='./')
      {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        $file = curl_exec($ch);
        curl_close($ch);
     
        $this->saveAsImage($url, $file, $path);
      }
      /*
      * @param string $url,图片路径,如: http://www.xxx.com/1.jpg
      * @param string $file,图片文件流
      * @param string $path, 存放的目录
      */
      private function saveAsImage($url, $file, $path)
      {
        $filename = pathinfo($url, PATHINFO_BASENAME);
        $resource = fopen($path . $filename, 'a');
        fwrite($resource, $file);
        fclose($resource);
      }
    } 
    $images = array(); // 图片url,如:http://www.xxx.com/1.jpg
    $spider = new Spider();
     
    foreach ( $images as $url ) {
      $spider->downloadImage($url);
    }
    

      

  • 相关阅读:
    有用的Python模块
    Python中for循环搭配else的陷阱
    MySQL实用操作
    Pycharm常用快捷键
    MySQL基础
    HTML基础
    MySQL基础
    HTTP连接管理
    TCP连接的建立和终止
    TCP数据流
  • 原文地址:https://www.cnblogs.com/lin3615/p/3543548.html
Copyright © 2011-2022 走看看