因为上传者限制的原因(也就是版权限制),绝大部分微音乐和豆瓣小站上传的歌曲是不允许下载的。见下图:
对于这种歌曲,想要下载到硬盘上有很多办法,比如用IE听过然后去缓存文件夹找啊,或者利用VideoCacheView等工具啊之类的。
本文介绍如何手动找出歌曲的链接地址,而不是缓冲好的文件。(其实之前我为了听歌方便,不想打开网页而打算写个播放器的,直接采用新浪和豆瓣的数据,所以想找出歌曲的获取地址。)
1. 豆瓣小站:
随便找一个小站,左键你想下载的歌曲,让播放器开始播放,然后在播放器附近右键选择“审查元素”,找到以下代码,红色下划线的地方就是Base64加密过的歌曲链接了。
复制出来,然后到站长工具之类的网站解密就OK了。
下面提供两个手动方法:
在Developer Tools下面的Console里输入下面的命令,回车,就会解出真实地址了:
atob("aHR0cDovL21yNC5kb3ViYW4uY29tLzIwMTMwMzA1MTczOS8zNDdiNmRkODNhYzQ1ODcwZGU4YTI1ODQzODM0ZGUwZS92aWV3L211c2ljaWFubXAzL21wMy94MTMzNzk2MzQubXAz")
效果如图:
或者利用Chrome的地址栏,输入下面的字串,回车:
data:text/plain;base64,aHR0cDovL21yNC5kb3ViYW4uY29tLzIwMTMwMzA1MTczOS8zNDdiNmRkODNhYzQ1ODcwZGU4YTI1ODQzODM0ZGUwZS92aWV3L211c2ljaWFubXAzL21wMy94MTMzNzk2MzQubXAz
效果如图:
2. 新浪微音乐
新浪微音乐就稍微有点不同了。不像豆瓣用的是SWF Flash播放器,新浪用的是JavaScript直接写成的播放器,所以歌曲地址可以很容易地在源码里找到。见下图绿色方框处,在wbmusicplayer.js
文件的第230行:
把地址复制出来,前面加上域名组合成这样:
http://ting.weibo.com/yueku/port/getmp3url.php?songid={歌曲ID}
is_32这个参数是可以去掉的,代表码率(Bitrate),我试了一下,可用的就两个,一个是is_32,另一个是is_128,什么都不加的话默认是128kbps,即使这首歌本来就允许下载。如果歌曲上传者允许下载,还是老老实实点“下载”按钮,一般情况都是192kbps的。
歌曲ID的获取方法也是超简单的,就在地址栏明明白白的写着:
组合一下粘贴到地址栏,回车,就OK了。
另:两个网站的歌曲地址都是有失效期(Expires)的,过一段时间就不能用了。