IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    豆瓣FM音乐累计收听下载办法

    失去的地平线发表于 2015-01-04 12:04:06
    love 0

    最近一直苦恼与如何下载豆瓣FM上的音乐,想装入SD卡放车上听。因为数量巨大实在不想一个个去搜索选择。研究了下具体操作办法。

    如果仅仅是需要下载加心歌曲话请直接移步百度搜索豆瓣匠1.3.6,直接可以帮助你下载到红心歌曲,监听http包发现他是用了安卓版的豆瓣FM的接口,这个JSON文件内直接暴露了音乐的连接地址。我特地下载了安卓版豆瓣FM发现他并没有累计收听这个记录,所以我们也无法批量获取这些MP3的原始地址。这篇文章主要讲如何帮助大家下载豆瓣FM累计收听的成千上万首歌曲。

    必备工具:Firefox(火狐浏览器),FireBug(火狐的调试软件,如直接附加不成功可以手动下载后手动附加插件),E音乐盒(用来下载歌曲的软件,它有个特殊的功能,能直接批量导入歌名就帮你下载歌曲)。

    1.使用火狐,打开FireBug,登录豆瓣FM,点击累计收听,查看FireBug,可以发现,当每次访问累计收听或是在累计收听内翻页会发起一个AJAX的GET去获取列表,注意看参数ck、spbid需要记录下来这个是用户相关参数,type是类型played代表的是累计收听(其他类别可以成其他的参数),start是分页参数。

    1

    2.使用jq代码批量获取歌曲名称和歌手。注意看第1行,这个是具体操作的页码我这个例子上的只获取2页。第3行则是从第几页开始获取。请将之前用FireBug获取到的用户相关参数替换成你自己的。然后复制到记事本,在重新粘帖到刚才的浏览器窗口的地址栏,回车访问,如果跳转到搜索了请检查头部的javascript:是否被浏览器删除了,如删除请手动补回再访问。

    javascript: var tpage = 2;
    javascript: var tpage = 2;
    var a = [];
    var page = 1;
    var n = 0;
    for (page = 1; page <= tpage; page++) {
    	n = (page - 1) * 15;
    	var url = "http://douban.fm/j/play_record?ck=MFdp&spbid;=::wck3hMoPfgE&start;=" + n + "&type;=played";
    	$.ajax({
    		type: "GET",
    		url: url,
    		async: false,
    		dataType: "json",
    		success: function(json) {
    			if(!json.songs){
    				a.push("----第"+page+"页出错!");
    			}else{
    				for (var i = 0; i < json.songs.length; i++) {
    					a.push(json.songs[i].artist + " - " + json.songs[i].title);
    				}
    			}
    		}
    	});
    }
    document.write(a.join(""));

    3.将浏览器获得的内容复制到E音乐盒,并使用“批量音乐名称添加歌曲”。

    2
    4.在E音乐盒内可全选右键批量下载。

    35.最后说明下。E音乐盒已经停止更新了,数据源只能采用谷歌的,但是部分朋友网络翻墙问题请自行解决,或可以采用本方法的逻辑去把所有累计收听加心。



沪ICP备19023445号-2号
友情链接