批量刪除網易雲音樂【我喜歡的音樂】列表中的歌曲

網易雲音樂貌似沒有提供批量操做的功能,而這個歌單好像又不能刪掉,因此刪的時候得一個個刪,至關蛋疼。不過看了下刪除操做,是請求一個api,傳遞相應參數便可。jquery

首先打開歌單頁面,地址是:api

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

其中xxxxx是歌單的ID號,打開console,隨便刪一首歌,能夠看到網絡請求爲:app

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

請求參數:spa

  1. pid:xxxxx3d

  2. trackIds:["yyyyy"]code

  3. op:delcsrf

其中csrf_token是請求api的令牌,有可能會失效,若是失效之後,刷新下頁面,再刪一首能夠看到新的令牌token

參數中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~

相關文章
相關標籤/搜索