>  기사  >  백엔드 개발  >  php 抓取图片

php 抓取图片

WBOY
WBOY원래의
2016-06-23 13:40:04873검색

<?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\=\"(.*?)\"[^ alt="php 抓取图片" >]*>/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);}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.