记录一次PHP下载酷狗歌单内所有歌曲(附林俊杰梦想的声音31首mp3合集)

前段时间二刷了梦想的声音>又被JJ林俊杰实力吸粉了,于是找到一个他在梦想的声音所有歌的歌单

歌单是酷狗的…该说不说现在酷狗弄的…PC端分享歌单不能直接复制链接,还得分享到QQ然后再复制一下…

在这分享下歌单链接给爱听”行走的CD”唱歌的小伙伴们:

  歌单地址

然后酷狗里点击下载之后弹出个窗口给我整无语了…8说了看图好吧
记录一次PHP下载酷狗歌单内所有歌曲(附林俊杰梦想的声音31首mp3合集)
一共31首歌, 28首都是付费下载的!

于是本小白就开始琢磨, 一顿操作后写出如下代码:

  <?PHP $ym = file_get_contents('https://wwwapi.kugou.com/share/zlist.html?listid=32&type=1&uid=366027247&sign=faa36a1424720f32a3239f033b367a39&_t=619359783&from=pcCode&share_type=collect#hash=62D383EB833E41FF7E05E7BC493CE31F&album_id=8022123');    //设置歌曲保存路径  $path = __DIR__ . 'music';    //正则取出包涵歌曲hash的json  $pattern = '/var dataFromSmarty = (.*?),//当前页面歌曲信息/';  preg_match_all($pattern, $ym, $matches);  $sings = json_decode($matches[1][0]);    $singsarr = [];    foreach ($sings as $key => $value) {  	$singsarr[] = 'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash='.$value->hash.'&album_id='.$value->album_id;  }    foreach ($singsarr as $key => $value) {  	$sjson = mycurl($value);  	$downjson = json_decode($sjson,true);    	if (file_put_contents($path . iconv("UTF-8","gbk//TRANSLIT",$downjson['data']['audio_name']) . '.mp3', file_get_contents($downjson['data']['play_url']))) {  		//在小黑框输出中文的时候要把utf-8转换成gbk,不然会乱码  		echo iconv("UTF-8","gbk//TRANSLIT",$downjson['data']['audio_name'] . '下载完毕')."n";  	}else{  		echo iconv("UTF-8","gbk//TRANSLIT",$downjson['data']['audio_name'] . '下载失败')."n";  	}  	//下载完一首,休眠10s,以防访问频繁cookie过期  	sleep(10);    }      function mycurl($url){  	$cookie='cookie';  	//设置访问头  	$httpheader[] = "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36";  	$curl = curl_init();//初始化一个curl会话;  	curl_setopt($curl,CURLOPT_URL,$url);//指定访问的url  	curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//获取的信息以文件流的方式返回  	curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);  	curl_setopt($curl, CURLOPT_HTTPHEADER, $httpheader);  	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  	curl_setopt($curl, CURLOPT_COOKIE, $cookie);//设置cookie  	$data = curl_exec($curl);//执行curl;  	curl_close($curl); // 关闭CURL会话  	return $data;  }  

小黑框内运行一哈

记录一次PHP下载酷狗歌单内所有歌曲(附林俊杰梦想的声音31首mp3合集)

然后发现有8首歌下载一直都是失败的…

后来一看, 这8首歌连听听都要花钱! 所以没有搞到下载链接!
记录一次PHP下载酷狗歌单内所有歌曲(附林俊杰梦想的声音31首mp3合集)

另外一个坑的点就是.测试的时候cookie总是过期…可能是访问太频繁了吧, 然后我就加了个 sleep(10)

记录一哈, 有时间把这段代码完善一下.

最后分享一哈我下完的31首歌给喜欢听JJ林俊杰唱歌的小伙伴吧!

  蓝奏云    提取码: 9vt6

已更新蓝奏云分享链接!

-End-

文章来源于互联网:记录一次PHP下载酷狗歌单内所有歌曲(附林俊杰梦想的声音31首mp3合集)

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发