Как спасти свою библиотеку Яндекс.Музыки? [UPD №1]
8 сентября 2022 года, компания Sony Music объявила об окончательном уходе с рынка России. Для многих меломанов это означает неминуемую утерю любимых композиций 💔
Права на треки международных исполнителей не включены в условия сделки, поэтому все оставшиеся композиции должны будут убрать из российских стриминговых сервисов
[ ℹ Есть обновления] Что же делать, как спасти свою музыкальную коллекцию? Не буду тянуть кота за известное место и сразу перейду к сути. Есть два способа:
🕒 UPD №1
Способ №1 «Изи катка». Экспортировать список треков в текстовом формате
Для этого понадобится расширение для браузера под названием «YaMuTools», ссылка:
- для Хрома, Оперы, Яндекса и Эджа — https://chrome.google.com/webstore/detail/yamutools-новые-функции-д/dgjneghdfaeajjemeklgmbojeeplehah?hl=ru
- для Огнелисы — https://addons.mozilla.org/ru/firefox/addon/yamutools/
- Github — https://github.com/Chimildic/YaMuTools
После установки и простой настройки, надо обновить страницу с ЯМузыкой, перейдите на страницу плейлиста и нажать на кнопку YaMuTools → Экспортер
В зависимости от количества треков в плейлисте, плагин чуток подумает и скопирует список всех треков в буфер обмена. Содержимое оного можно сразу вставлять в блокнот, игнорируя рекомендацию перейдите на spotlistr или tunemymusic, — там обычный не форматированный текст (список с названиями композиций).
Способ №2 «Уровень сложности "Азиат"». Скачать любимые треки, спарсить список id треков, переименовать файлы.
Дисклеймер: все рекомендации ниже по тексту даны исключительно в образовательных целях. Повторять всё увиденное и прочитанное никому не рекомендуется.
Второй способ абсолютно выдуманный, совпадения с любыми реальными действиями случайны!
Данный способ позволяет сохранить на ваш ПК практически любой плейлист из библиотеки Яндекс Музыки. Почему практически любой? Потому что авторы плейлистов редко обновляют оные, и если в плейлисте будут недоступные треки, то могут возникнуть ошибки при сохранении плейлиста.
Итак, надо понадобится
- приложение Яндекс.Музыка из Microsoft Store — https://www.microsoft.com/ru-ru/p/yandexmusic/9nblggh0cb6d#activetab=pivot:overviewtab
- программа для пакетного переименования файлов «Advanced Renamer» — https://www.advancedrenamer.com/
- блокнот (например, notepad++)
- немного внимательности и терпения
- умения пользоваться сочетанием клавиш ctrl+c / ctrl+v
Итак,
☕ Подготавливаемся
- Качаем и устанавливаем Advanced Renamer, устанавливаем с выбором русского языка, запускаем его и откладываем
- Авторизовываемся в приложении Яндекс.Музыка для Windows
- Идём в настройки (левый нижний угол) и тыкам переключатель
— «Высокое качество звука»
— «Не засыпать при загрузке» - Переходим во вкладку «Плелисты», выбираем нужный и жмём «Скачать»
⚠ имейте ввиду, треки качаются на диск C:/,
⚠ каждый трек может весить до 15мб и у вас должно быть достаточно свободного места на диске! - Пока скачиваются ваши треки, переходим найти папку, куда Яндекс.Музыка качает свои файлы. Папка находится по следующему адресу:
Если вы не можете сразу найти папку, тогда
- перейдите в директорию
C:\Users\{__ПРОФИЛЬ__}\AppData\Local\ - найдите папку \Packages\
- в ней будет куууча подпапок, ориентируйтесь на название, оно содержит длинное название из цифр и букв, в центре которого .Yandex.Music_
- в этой папке переходите в \LocalState\Music\
- там будет папка со скаченными треками :)
✨ Парсом список треков
Не пугайтесь, тут нет ничего сложного :)
- Заходите в веб-версию Яндекс.Музыки, переходите в ваш любимый плейлист и теперь надо запустить Инструменты разработчика (DevTools).
- В Google Chrome, Firefox, Edge, Яндекс.Браузер это делается через комбинацию клавиш ctrl + shift + i
⚠ Важно, чтобы плейлист был публичным. Если вы хотите скачать свой плейлист, тогда убедитесь, что у него не стоит приватный режим. Для этого надо перейти в плейлист, нажать на три точки (...) и в конце списка взглянуть на пункт «Приватный плейлист», переключатель должен быть серым:
Итак, вы открыли страницу с нужным плейлистом и запустили DevTools,
- Переходите во вкладку «Network»
- Убедитесь, что не стоит галочка «Disable cache»
- Переключите сортировку на «Fetch/XHR»
- Теперь обновите страницу с плейлистом не закрывая окна DevTools; во время обновления страницы, в большом поле под панелью фильтров начнут появляться данные. Дождитесь, когда страница с плейлистом перезагрузится.
- Теперь ищите в левом столбце «Name» строку, содержащую следующий текст: playlist.jsx?owner=
- кликните на неё и в правом окне выберите вкладку «Preview»; в появившемся ниже окне наводим курсор на ►playlist:
- теперь жмём правую кнопку мышки и выбираем
«Store object as global variable»
- Теперь переходим во вкладку «Console», ищем глазами две нижние строчки, первая из которые начинаются с temp1
- В нижнем поле, напротив знака > вставляем следующий код:
После того, как вы нажмёте Enter, откроется новая вкладка, в которой будет спарсен список треков с указанием внутреннего id ЯндексМузыки + приставка .mp3, а также название трека согласно плейлисту. Вам необходимо скопировать весь текст в любой текстовый редактор и сохранить файл.
Всё. Это была самая сложная часть гайда, теперь можно выдохнуть :)
⚠Чуть не забыл!
Обязательно проверьте названия ваших треков.
Из названия необходимо убрать следующие символы: < > : " / \ * ?
Например, Яндекс.Музыка вуалирует «плохие» слова звёздочками: Nigga → N****
Ещё необходимо заменить все буквы с акутом. Это буквы с ударением, например é → e
🎶 Переименовываем треки
Самое сложное позади, осталась рутина:
- Переходим в папку Яндекс.Музыки с уже скаченными треками; видим, что все треки называются набором цифр, — это внутренний id ЯндексМузыки, мы его уже спарсили.
- Копируем все треки в отдельную папку.
- В эту же папку копируем текстовый файл со спарсенным списком треков.
- Переходим в Advanced Renamer, жмём кнопку в верхнем меню «Импорт», выбираем «CSV файл ...»
- В открывшемся окне надо указать путь к текстовому файлу, для этого жмём кнопку с тремя точками [...] и в Проводнике находим нужную директорию (рекомендую её скопировать); директория будет пустая, и для того, чтобы программа увидела текстовик, надо сменить тип файлов с *.csv на *.*
- Теперь надо указать путь к папке с треками. Для этого просто вставьте в поле «Папка исходных файлов:» ранее скопированный путь и поставьте в конце знак слеша \ (если его там нет). Программа сразу всё подтянет.
- Если же вы не копировали путь в Проводнике, или у вас нет поля с адресом папки (например, из-за настроек отображения проводника), тогда вам придётся вручную, через не очень удобное меню тыкаться к папке. В общем, разберётесь ;)
Итак, вы указали путь к папке со скаченными треками, указали путь к текстовому файлу со списком id треков и названиями.
- Если в окне «Импорт из CSV файла» везде стоят «ОК», можете жать кнопку «Импорт» ✨
- Ренеймер немного подумает и откроет основное окно, в нём вам надо найти глазами колонку «Список», а в ней, в низу таблицы выпадалку «Применить к:» и сменить текущее значение на «Имя».
- Всё. Жмите «Запустить»
Вот и всё :)
Вы большой молодец и спаситель библиотеки Яндекс.Музыки от забвения! 💖🎶✨
UPD №1. Способ №3 «Уровень сложности "Ленивый идиот"». Берём чужое и ломаем его.
Почему идиот? Потому что ничего умнее я не придумал 🤷♂
Некоторые пользователи, включая меня самого, у кого в библиотеке более 150 треков, могли столкнуться с проблемой ограничения кол-ва элементов массива списка треков, который грузится по ссылке playlist.jsx?owner=
— Да что ты, черт побери, такое несёшь?! — спросите вы и будете правы. Ведь я сам не знаю, что происходит, но я уже нашёл, как это исправить!
Итак,
🤦♂ нам понадобится чуть подправить расширение YaMuTools из Способа №1
- устанавливаем расширение, если ещё не сделали этого
- открываем в Проводнике Windows
C:\Users\{__ПРОФИЛЬ__}\AppData\Local\Google\Chrome\User Data\Default\Extensions\dgjneghdfaeajjemeklgmbojeeplehah - Ну или по шагам, вначале переходим в директорию
C:\Users\{__ПРОФИЛЬ__}\AppData\Local\ - находим папку \Google\
- в ней \Chrome\
- далее переходим \User Data\Default\
Это папка вашего профиля Google Chrome, если у вас несколько профилей, то вместо Default надо выбрать ваш. - в папке Default нам нужна \Extensions\dgjneghdfaeajjemeklgmbojeeplehah\
этот набор букв это папка, в которой находится искомое расширение. Оно уникально для всех расширений и также является уникальной ссылкой в магазине приложений Google (просто вбейте в поисковике эту белиберду).
🤦🏿♀ Стадия I
В этой папке будет ещё одна папка с указанием версии приложения, не редактируйте в ней ничего, для начала скопируйте её в любое место за пределами диска C:\
После того, как скопировали папку с указанием версии приложения в другое место, надо удалить всё содержимое папки \dgjneghdfaeajjemeklgmbojeeplehah\. Это удалит оригинальное расширение и позволит избежать конфликтов.
Далее,
- Скопировав папку, переходим в неё, ищем папку
«Script» → «Tools» → «Playlist» - в ней нас интересует файл «exporter.js»
- открываем его любым редактором (лично я использую Notepad++ [https://notepad-plus-plus.org/downloads/]), и ищем 31 строку:
- и заменяем её на
- либо же просто замените всё содержимое файла вот этим (это тоже самое, что и пунктом выше, но без необходимости искать строки):
Молодцом! Сохраняйте изменения и погнали дальше!
🤦🏾♂ Стадия II
- Теперь надо установить наше модифицированное расширение.
- Для этого переходим в раздел расширений в Хроме, вбиваем в адресной строке этот адрес chrome://extensions/
- Жмём в верхнем правом углу тумблер «Режим разработчика»
- И тыкаем в пункт «Загрузить распакованное расширение»
- Выбираем папку с модифицированным расширением и жмём «Выбор папки».
- Готово, расширение загружено и должно появится в списке всех расширений браузера.
Проверяем, всё ли нормально: ищем в списке наше расширение, переходим в «Сведения», скроллим вниз и ищем надпись
Источник
Распакованное расширение
Загружено из: {__ВАШЕ_МЕСТО__}
🤦♀ Стадия III
- Переходим на ЯндексМузыку, в нужный вам плейлист
- Повторяем действия из Способа №1: жмём YaMuTools → Экспартёр
- Вставляем полученные данные в блокнот, например Notepadd++,
- Скопированные данные будут выглядеть следующим образом:
- Внимательный читатель заметит, что расширение файла (mp3) слилось с названием трека (с его realid), что не хорошо.
- Исправить это можно следующим образом:
- В Notepadd++ надо нажать сочетание клавиш Ctrl+F и в появившемся окошке выбрать вкладку «Замена»;
- Далее выделяем и копируем «mp3;» (mp3 и точка с запятой), вставляем в поле «Найти:»;
- А в поле «Заменить на:» пишем это «.mp3 |» (mp3 и вертикальная черта), жмём кнопку «Заменить всё»
Если у вас нет Notepad++, тогда подойдёт обычный Блокнот Windows. Окно замены вызывается через «Правка» → «Заменить» или CTRL + H.
Ура! Список всех ваших треков, вне зависимости от того, сколько их у вас, готов! Вы большой молодец во второй раз 💖💖
PS: далее надо скормить список треков Advanced Renamer, но в поле «Разделитесь:» вместо точки с запятой указать вертикальную черту |
Но это вы уже умеете ;)
PSS: Всем, кто спрашивал и хочет спросить про плейлист для катки. Он не мой, я им не управляю и удалить / добавить ничего не могу :) Лично я из этого плейлиста слушаю около 15 треков.
Ссылка на музыка для катки — https://music.yandex.ru/users/jmkt-tech/playlists/1010
Способ №3. «Крутой чел». Перестать, блять, пользоваться Яндекс Музыкой.
а чем пользоваться предлагаешь? Бумом? Спотифай в России без костылей не работает.
Плюс подписки яндекса в том, что там не только музыка, но и кинопоиск и прочие плюхи и стоит копейки. К тому же слушаю музыку через Яндекс Станцию, а она кроме яндекс музыки ничего не играет
Прикол. Месяц назад я заметил в библиотеке кучу серых треков, на которые закончились права. Перенёс все в споти, успешно слушаю без проблем. Зашёл щас проверить в Яндекс снова - серых треков больше нет. Знаете почему? А их скрыли вообще из моей библиотеки. Гениальный ход. Если я не вижу проблемы, значит ее нет. Если пытаться вспомнить какие треки могли удалить и поискать через поиск - да, они найдутся серыми. Если не искать, на найдёшь.
Так они недоступны. Нахера их по умолчанию показывать?
Может ты в настройках изменил видимость недоступных треков?
Через API выполни поиск с пустым запросом.
Не совсем понял, первый способ дает просто названия треков в плейлисте? И че с ним делать? Смотреть и радоваться, ух вот это треки были?