❗ Если вдруг скрипт не помог вам, то скорее всего команда разработчиков Яндекс.Музыки внесла изменения, и придётся подстроиться под них. В ближайшее время я это исправлю. Ну или, если есть желание, можете прочитать скрипт и подставить актуальные данные из DOM в него - и, скорее всего, он заработает. Удачи!
Всем привет!
Скорее всего, вы здесь, потому что хотите очистить свой плейлист "Мне нравится" в Яндекс.Музыке.
Понимаю: иногда хочется обновить треки, начать с чистого листа, но кнопки "снять все лайки" почему-то нет.
Жаль, конечно, что такая простая опция отсутствует.
Этот скрипт имитирует действия человека и по очереди убирает сердечки со всех ваших треков.
Никакой магии - просто последовательное удаление. Надеюсь, вы дочитали до этого места, чтобы потом не удивляться: "А куда делись треки, которые я не хотел удалять? 😊"
Начнем?
Погнали!
Открываете браузер. Вбиваете в поисковой строке https://music.yandex.ru/ , теперь нужно авторизоваться. Слева в навигационной панели вы увидите "Коллекция", нажимаете на нее и увидете блок "Мне нравится" и часть треков, которые когда-то добавили.
Это не все!
Теперь вам нужно нажать "Мне нравится", чтобы у вас отображался список ваших треков.
Ок!
Теперь вы видите свой список треков. Идем дальше...
Cамое сложное для самых обычных людей). "Глаза боятся, руки делают" :)
Нажмите клавишу F12 (или Ctrl+Shift+I), перейдите на вкладку Console (Консоль).
Видим кучу непонятного текста, какие-то ошибки - не обращаем на них внимания, это вам не нужно.
Ищем сверху корзину (или кружок с крестиком в зависимости от браузера), наводим на нее курсор, и должен появиться текст
"очистить консоль".
Очищаем!
❗❗❗Тут хочу подметить момент, некоторые браузеры показывают предупреждение о безопасности при вставке кода в консоль. Не пугайтесь: этот скрипт работает только с интерфейсом Яндекс.Музыки, не собирает и не отправляет ваши данные никуда. Если только вы не вставили какой-либо другой скрипт. А так - зуб даю.
Анекдот
Заяц с медведем нашли клад, и спорят, кому он достанется.
Медведь предлагает: - Давай, кто кому больше зубов выбьет, того и клад.
Заяц согласился, бьет первый. - Сколько? - Раз, два, три...шесть.
Очередь медведя, ударил. - Сколько? - Сисири. - Как четыре? - А бофе нету.
Ладно вы тут за другим. Теперь берем, копируем данный код. И вставляем его в console(консоль) Ctrl + v и нажимаем Enter;
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function removeAllLikes() {
const container =
document.querySelector(".VirtualScroll_scroller_withForceScroll__w7q1L");
let previousHeight = 0;
let removed = 0;
while (true) {
const buttons = document.querySelectorAll(
'button.CommonControlsBar_likeIcon__YqgZY[aria-pressed="true"]',
);
if (buttons.length === 0) {
console.log("Лайки уже сняты.");
break;
}
for (let btn of buttons) {
btn.click();
removed++;
console.log(`Снято лайков: ${removed}`);
await delay(300);
}
container.scrollTo({
top: container.scrollHeight,
behavior: "smooth",
});
console.log("Прокрутка... ждём подгрузки");
await delay(2000);
if (container.scrollHeight === previousHeight) {
console.log("Конец страницы.");
break;
}
previousHeight = container.scrollHeight;
}
console.log(`Снято лайков: ${removed}. Конец!`);
}
removeAllLikes();
Ну всё! Теперь вы вайб-кодеры) Поздравляю!
Перезагружаем страницу и видим очищенный список.
P.S. Блин, надеюсь, у вас правда получилось! Потому что я пытался расписать всё пошагово. Удачи!