网易云音乐貌似没有提供批量操作的功能,而这个歌单好像又不能删掉,所以删的时候得一个个删,相当蛋疼。不过看了下删除操作,是请求一个api,传递相应参数即可。
首先打开歌单页面,地址是:
http://music.163.com/#/my/m/music/playlist?id=xxxxx
其中xxxxx是歌单的ID号,打开console,随便删一首歌,可以看到网络请求为:
/api/playlist/manipulate/tracks?csrf_token=64f353b064b83d3c692ca05d4db2848a
请求参数:
pid:xxxxx
trackIds:["yyyyy"]
op:del
其中csrf_token是请求api的令牌,有可能会失效,如果失效以后,刷新下页面,再删一首可以看到新的令牌
参数中xxxxx是歌单ID,yyyyy是要删除的歌曲ID
ok,下面就来批量操作
打开console
加载jQuery(网易云音乐页面上没有使用jQuery)
var jq = document.createElement('script');
jq.src = "http://libs.baidu.com/jquery/1.7.2/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
敲一下jQuery看看是不是加载成功。注意,页面上有两个iframe,加再的时候注意选择,要选择歌单的iframe,而不是播放器的iframe
然后就是删除操作了
jQuery(".icn-del").each(function(a,b){
var data = {
pid : xxxxx,
trackIds : "[\""+jQuery(b).attr("data-res-id")+"\"]",
op : "del"
}
jQuery.post("/api/playlist/manipulate/tracks?csrf_token=72e4c368b414ce8f9951aacb07e6f452",data,function(data){
console.log(data)
});
});
pid根据歌单自己替换,歌曲ID是从页面上遍历循环取出来的,token也自己替换下
需要说明的是,API请求太过频繁时,token会失效,稍等一会再手动试一下,换个新的token
我试的时候一个token大概能删100首左右。Have fun~
来源:oschina
链接:https://my.oschina.net/u/97860/blog/298505