批量删除网易云音乐【我喜欢的音乐】列表中的歌曲

北慕城南 提交于 2020-03-03 21:57:00

网易云音乐貌似没有提供批量操作的功能,而这个歌单好像又不能删掉,所以删的时候得一个个删,相当蛋疼。不过看了下删除操作,是请求一个api,传递相应参数即可。

首先打开歌单页面,地址是:

http://music.163.com/#/my/m/music/playlist?id=xxxxx 

其中xxxxx是歌单的ID号,打开console,随便删一首歌,可以看到网络请求为:

/api/playlist/manipulate/tracks?csrf_token=64f353b064b83d3c692ca05d4db2848a

请求参数:

  1. pid:xxxxx

  2. trackIds:["yyyyy"]

  3. 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~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!