php 抓取图片
php 抓取图片
一切_放空 发表于3年前
php 抓取图片
  • 发表于 3年前
  • 阅读 198
  • 收藏 9
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 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);
}


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 16
码字总数 6368
×
一切_放空
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: