(Как) Удалить все треки из VK
Предисловие: приспичило мне почистить музыку в вк, но в выдаче гугла по запросу удаления музыки одни нерабочие методы и примеры каких-то старых версий ВК. Так что пришлось решать вопрос самостоятельно. Заодно, надеюсь, эта инструкция в поиске будет выдаваться выше того, что давно перестало работать.
Бонусом добавил фильтрацию по названию если что-то надо сохранить.
Инструкция:
(Проверено в chrome, в остальных современных браузерах должно работать)
1. Перейти на странице vk.com в "мою музыку". В адресной строке будет vk.com/audiosЦИФРЫ. Должна быть открыта вкладка "моя музыка"
2. Скопировать этот код, или отсюда:
var filter = ["lol-test"];
//scroll down at max
function scrollDown(callback){
let scroll = document.body.scrollHeight;
let lastScroll = scroll;
window.scrollTo(0,document.body.scrollHeight);
requestAnimationFrame(function(){
scroll = document.body.scrollHeight;
if(scroll != lastScroll)
scrollDown(callback);
else callback();
});
}
scrollDown(function(){
var list = document.querySelectorAll(".audio_row");
console.log(`Total songs: ${list.length}`);
function del(obj) {
console.log(`delete ${obj.title}`);
ajax.post("al_audio.php", {
act: "delete_audio",
oid: obj.ownerId,
aid: obj.id,
hash: obj.deleteHash,
restore: 1
});
}
list.forEach(function(el) {
let obj = AudioUtils.asObject(AudioUtils.getAudioFromEl(el));
for (let i in filter)
if (obj.title.includes(filter[i])) {
console.log(`keep ${obj.title}`);
return;
}
del(obj);
});
});
3. На странице с музыкой нажать F12. Появится окно консоли, после стрелочки вставить код:
4. Нажать ENTER. Окно начнет скролить в самый низ списка, затем начнется удаление (Может занять некоторое время, особенно для больших списков; из-за медленного интернета скрипт может решить что список уже закончился и начать удаление, тогда надо будет его перезапустить)
На гитхаб закинул несколько разных версий скрипта - без скролла, с инверсированным фильтром (Удалить только треки с совпадающими названиями), докинул еще скрипт добавления треков, но его vk фильтрует на антибота (Да и вообще хз кому может пригодиться)
P.S. Удивительно, что вконтакт не фильтрует множественные запросы на удаление, отпишите в комментарии если с этим возникнут с этим проблемы
P.S.S. Я на связи, если возникнут какие-то вопросы или нужно будет добавить какую-нибудь функцию (Фильтрацию по исполнителю, например)