Скрипт для синхронизации любимых треков из Spotify в в Яндекс.Музыку.
Подходит для:
- Первого массового импорта любимых треков из Spotify в Я.Музыку;
- Регулярной синхронизации, скрипт добавляет только новые любимые треки.
- Берёт Liked Songs (любимые треки) из Spotify.
- Ищет каждый трек в Яндекс.Музыке по комбинации
артист + название. - Лайкает найденные треки в стандартный плейлист "Мне нравится" в Яндекс.Музыке.
- Ведёт локальное состояние:
- при первом запуске — проходит по всем лайкам;
- при следующих запусках — обрабатывает только новые лайки.
- Не дублирует лайки в Яндекс.Музыке.
- Сохраняет хронологию: новые треки оказываются сверху, как в Spotify.
- Python 3.10+
- Аккаунт Spotify + доступ к Spotify Developer Dashboard
- Аккаунт Яндекс.Музыки + Токен
git clone https://github.com/eugensubachev/spotify-2-yandex.git
cd spotify-2-yandex
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Создать конфигурационный файл
cp .env.example .env
nano .env- Получить Spotify API ключи
Нужно перейти в Spotify Developer Dashboard и создать новое приложение.
Важно! В URL обязательно указать "http://127.0.0.1:8888/callback", иначе будет ошибка "INVALID_CLIENT".
- Получить токен Яндекс.Музыки
Способ получения токена периодически меняется, один из вариантов описан тут.
- Заполнить полученные значения
# Spotify API
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888/callback
# Yandex Music API
YANDEX_MUSIC_TOKEN=your_yandex_token
# Локальное состояние синхронизации
STATE_FILE=spotify_yandex_state.jsonПри первом запуске:
- Откроется авторизация Spotify (ссылка появится в терминале или откроется в GUI),
- Скрипт импортирует все ваши лайки из Spotify,
- Создаст файл состояния (spotify_yandex_state.json),
- Добавит найденные треки в «Мне нравится» в Яндекс.Музыке.
Следующие запуски берут только новые лайкнутые треки.
Опционально. Для удобства можно настроить работу скрипта по расписанию на домашнем или удалённом сервере. Как минимум, стабильно отрабатывает раз в 10 минут.
Важно! Запуск по расписанию настраивать строго после полного завершения первичного импорта.
Важно! При первичном запуске, после авторизации приложения в Spotify создаётся файл .spotify_token_cache. При переносе скрипта на сервер, этот файл нужно тоже скопировать. Альтернативный вариант - пройти авторизацию приложения повторно.
Сам токен после создания фактически обновлять не нужно, если вы не удалили приложение в Spotify Developer Dashboard, не меняли ключи и не меняли ваш логин/пароль в Spotify.