Spotify ушел из России, заблокировав использование своего сервиса на территории страны. Эта статья для тех, кто не успел импортировать свои данные.
В сети есть способы по импорту данных из Spotify (встроенный сервис импорта существует и в Яндекс-музыке, сторонние сервисы, боты в Телеграмме), но все они работали до полной блокировки, когда сервис только объявил о своем уходе, дав какое-то время пользователям на перенос. Будучи студентом курса по php, я начал свои изыскания, итогом которых стала эта статья-инструкция, которая, надеюсь, пригодится еще не только мне.
Заходим в приложение или на сайт Spotify, авторизируемся, идем по ссылке https://www.spotify.com/ru-ru/account/privacy/ и запрашиваем архив со своими личными данными, его сервис пришлет вам на указанную почту в течение какого-то времени.
Создаем папку (репозиторий) для программы.
Распаковываем полученный от Spotify архив, нужный нам файл - YourLibrary.json , копируем этот файл в репозиторий программы.
Создаем в репозитории программы пустой файл results.txt
-
Создаем в репозитории программы файл index.php , куда вставляем следующий код:
<?php $json = file_get_contents(__DIR__ . '/YourLibrary.json'); $data = json_decode($json, true); const RESULTS_PATH = __DIR__ . '/results.txt'; foreach ($data['tracks'] as $index => $trackArray) { file_put_contents(RESULTS_PATH, $trackArray['artist'] . ' - ' . $trackArray['track'] . PHP_EOL, FILE_APPEND); } foreach ($data['albums'] as $index => $albumArray) { file_put_contents(RESULTS_PATH, $albumArray['artist'] . ' - ' . $albumArray['album'] . PHP_EOL, FILE_APPEND); }
После отработки кода файл results.txt заполнится вашими данными в правильном формате для импорта в Яндекс-музыку.
Заходим на сайт Яндекс-музыки, авторизируемся, далее идем по ссылке https://music.yandex.ru/import/, перетаскиваем из репозитория полученный файл results.txt в поле импорта музыкальных коллекций - вуаля! Ваши треки распознаны.
P.S.: Полезный скрипт для очистки плейлиста "мне нравится" на Яндекс-музыке на случай, если что-то пошло не так :)
Также для удобства добавляю ссылку на репозиторий с Гитхаба с вложенной инструкцией.
Комментарии (5)
Theio
08.07.2022 18:38Если бы перенос ещё нормально работал, эх. Из плейлиста на 1300 треков осталось 900 :(
Надо наконец доделать оффлайн библиотеку, но на шаге поиска, добавления и категоризации синглов что-то стало больно...
kirahvi
08.07.2022 21:48Когда я в апреле переносила данные из Spotify
1) не было вывода по итогам импорта, какие треки успешно перенеслись, какие не нашлись
2) не нашелся трек <Artist 1> <Track name> - вместо него был добавлен <Random Artist> <Track name> и таких замен больше, чем хотелось бы
Я жаловалась в поддержку, обещали передать разработчикам и рассмотреть
storoj
09.07.2022 01:08+2Судя по тексту скрипта, файл
YourLibrary.json
имеет следующий формат:{ "tracks": [ { "artist": "...", "track": "..." }, ... ], "albums": [ { "artist": "...", "album": "..." }, ... ] }
Тогда можно обойтись только
jq
:jq -r '[(.tracks | map(.artist + " - " + .track)), (.albums | map(.artist + " - " + .album))][][]' YourLibrary.json
Dolios
Прследние события показали, что я был прав: вся музыка должна лежать у вас на устройствах. Ретроград, говорили они...