php 抓取图片

<?php
/**
 * Created by PhpStorm.
 * Date: 15-2-9
 * Time: 下午3:10
 */

for($i=0;$i<1000;$i++){
    $getData['page'] =  $i+1;
    getImg($getData);
}


function getImg($getData)
{
    $path = "D:/NFS/img/";
    $opts = array(
        'http'=>array(
            'method'=>"GET",
            'timeout'=>3,//设置3秒等待
        ),
    );
    if(is_array($getData) && !empty($getData))
    {
        $ser = http_build_query($getData, '', '&');
    }
    $cnt=0;
   //如果请求失败 继续请求3次
    while($cnt<3 && ($file=file_get_contents("http://sexy.faceks.com/?{$ser}", false, stream_context_create($opts)))===FALSE) $cnt++;
    preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $file, $matches);
    if(empty($matches[0]) || empty($matches[1]))
    {
        echo "not img...";die;
    }

    $imgs=array_unique($matches[1]);
    foreach($imgs as $k=>$img)
    {

        $filename = $path.time().$k.".jpg";
        getImage($img,$filename);
    }

}

/**
 * @param string $url
 * @param string $fileName
 * 保存图片
 */
function getImage($url = '', $fileName = '')
{
    var_dump($fileName);
    $ch = curl_init();
    $fp = fopen($fileName, 'wb');

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
}


你可能感兴趣的:(php 抓取图片)