msgbartop
用铅笔写日记,记录那最原始的美丽
msgbarbottom

游客身份从SoundCloud下载MP3音频文件

不得不说,现在的流媒体网站确实很变态。为了下载自己喜欢的歌曲到电脑里,变得越来越难了。

以前查看页面源码,直接能找到歌曲的url,直接右击另存为就完事了。也算是斗智斗勇了。。。

SoundCloud 是国外著名的音频分享网站,里面有很多好歌,提供在线的免费试听。这个就给了我下载歌曲的可能性。

以袁咏琳的《画沙》为例,搜索歌名进入试听页面。打开F12,查看网络活动,可以观察到很多个的mp3字样的fetch 请求,如下图:

通过逐个打开后发现,每个音频时长大概在10秒左右。也就是说soundcloud 把一首完整的歌曲按照固定的SIZE切割成了若干块。用户在试听的时候不会感觉出来任何异样。但是若是要下载的话就变得很麻烦。

仔细观察url后发现一个规律,应该是使用了类似于路径变量PATH_VARIABLE 的东西,

https://cf-hls-media.sndcdn.com/media/4310412/4380628/t8iAt6nhAxDi.128.mp3?xxxxxxxx
>>>
https://cf-hls-media.sndcdn.com/media/START/STOP/t8iAt6nhAxDi.128.mp3?xxxxxxxx

相当于是下载文件的开始,结束大小区间。

弄懂了这一点,看到了一个 "https://cf-hls-media.sndcdn.com/playlist/t8iAt6nhAxDi.128.mp3/playlist.m3u8?xxxx" 的url,里面的内容基本印证了我的想法,如图:

如果是这样的话,那我可不可以找到文件最大的SIZE,然后修改url 把下载区间改成0-文件真实尺寸,那不就可以下载整首歌了?

想到这一层,我通过最后一次fetch 请求拿到了最终大小,如下图:

注:这个数值在playlist接口里面也可以找到。

然后将url修改成:
https://cf-hls-media.sndcdn.com/media/0/4380628/t8iAt6nhAxDi.128.mp3?xxxx 后面参数照搬,回车。

果然我可以试听到完整的《画沙》了,此刻,右击另存为,这首歌曲就可以下载到本地了。

大功告成!

注意:url 里面的Signature 签名啥的有时效限制,几分钟后就会失效。注意手速。真失效了提示 forbidden,重新刷新页面再获取一次签名。

《撑起雨伞》歌曲下载 MP3

最近偶然听到这首歌,感觉旋律真的很棒,很好听。

是一首值得推荐的好歌,无奈好像被大陆封杀了,介绍什么的都没有,更别说在线试听、下载了。

故分享于此。

URL: https://kr.xzx.im/audio/%E6%92%90%E8%B5%B7%E9%9B%A8%E5%82%98.mp3

下面是简单的介绍(from 维基百科):

《撑起雨伞》是一首由香港音乐界特意为在2014年9月底开始的“和平占中”及“雨伞革命” 所创作的歌曲,由罗晓彬(Pan)作曲、林夕及Pan填词,何韵诗、黄耀明、叶德娴、谢安琪、周国贤、卢凯彤、方皓玟、RubberBand及其他香港歌手主唱。此曲是继1989年为八九民运而举行“民主歌声献中华”及创作《为自由》之后,25年以来首次由香港群星创作及主唱政治抗争歌曲。

此曲于2015年元旦举行之“2014年度叱咤乐坛流行榜颁奖典礼”以2887票夺得“叱咤乐坛我最喜爱的歌曲大奖”,得票抛离其余4首歌曲过千票,是该颁奖典礼设立以来,首次由群星演唱之社会运动歌曲夺得该典礼的最高荣誉。