php 抓取 斗鱼妹子 照片

先直接上代码
 <?php

 function http_post_json($url, $post_data)
{
    //初始化
    $curl = curl_init();
    //设置抓取的url
    curl_setopt($curl, CURLOPT_URL, $url);
    //设置头文件的信息作为数据流输出
    curl_setopt($curl, CURLOPT_HEADER, 1);
    //设置获取的信息以文件流的形式返回,而不是直接输出。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    //设置post方式提交
    curl_setopt($curl, CURLOPT_POST, 1);
    //设置post数据
    // var_dump($post_data);die();
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    //执行命令
    $data = curl_exec($curl);
    //关闭URL请求
    curl_close($curl);
    //显示获得的数据
    // var_dump($data);
    return $data;

}
function download($url, $path = './images/')
{
  $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);
  $filename = pathinfo($url, PATHINFO_BASENAME);
  // echo $filename;
  $resource = fopen($path . $filename, 'a');
  fwrite($resource, $file);
  fclose($resource);
}

$url = 'https://m.douyu.com/roomlists'; //斗鱼接口
for($i=1;$i<100;$i++){
	$data = array('type'=>'yz','page'=>$i); //调数据
$pic_data = http_post_json($url,$data);
// var_dump($pic_data);
$pattern = '/<img src="(.*)" class="live-feature">/';
preg_match_all($pattern, $pic_data,$subject);
foreach($subject[1] as $v){
	download($v);
}
}

发布了23 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/pmlptf/article/details/79557878