Skip to content

Maxxiim/yandex-music-like-remover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

❗ Если вдруг скрипт не помог вам, то скорее всего команда разработчиков Яндекс.Музыки внесла изменения, и придётся подстроиться под них. В ближайшее время я это исправлю. Ну или, если есть желание, можете прочитать скрипт и подставить актуальные данные из 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. Блин, надеюсь, у вас правда получилось! Потому что я пытался расписать всё пошагово. Удачи!

About

Простой скрипт для консоли браузера, который убирает лайки из вашего плейлиста «Мне нравится» в Яндекс.Музыке.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors