vk-music-import
vk-music-import copied to clipboard
Импорт плейлистов в VK Музыку из Spotify и других сервисов
vk-music-import
Программа для переноса плейлистов из Spotify и текстовых треклистов в VK Музыку.
Преимущества:
- Позволяет быстро импортировать плейлисты из Spotify в VK Музыку
- Импортирует даже неточные по названию треки
- Имеет доступ только к аудиозаписям, данные никуда не "утекают"
- Поддерживает большие плейлисты (более 1000 треков)
- Позволяет импортировать также обычные текстовые списки треков в VK Музыку
- Умеет обходить капчу
Скриншоты
Как запустить? (для обычных пользователей)
Инструкция по использованию на Windows:
- Скачайте и распакуйте архив (vk-music-import-vX.X_win32.zip) в любую папку
- Запустите исполняемый файл и следуйте инструкциям:
Более подробная инструкция на DTF: Переносим плейлисты из Spotify в VK Музыку (подробное руководство) .
Как запустить? (для продвинутых пользователей)
- Убедитесь, что у вас установлен Python 3.8+.
- Установите зависимости:
pip install -r requirements.txt
- Запустите скрипт и следуйте инструкциям (если некоторые библиотеки не устанавливаются - игнорируйте это, часть библиотек
используется только для компиляции win32 с помощью pyinstaller - об этом в другом разделе):
python vk-music-import.py
- После переноса треков, скрипт сгенерирует отчет и выведет ссылку на плейлисты с импортированными треками.
Перенос плейлистов из Apple Music
- В приложении Музыка на Mac выберите плейлист в боковом меню, затем выберите «Файл» > «Медиатека» > «Экспортировать плейлист». Выберите формат «Простой Текст».
- В файле настроек (
config.env
, лежит в папке с программой) с помощью блокнота выключите режим spotify:SPOTIFY_MODE="0"
- Аналогично предыдущему шагу включите режим Apple Music:
APPLE_MODE="1"
- Запустите скрипт, поместив экспортированный файл в папку со скриптом (ВАЖНО: файл должен называться
tracklist.csv
):
python vk-music-import.py
Важно: данный режим экспериментальный и может не поддерживаться полностью.
Как перенести музыку из других сервисов?
Чтобы перенести музыку из сторонних сервисов (YouTube, Apple Music, Яндекс Музыка и т.д.), вам необходимо будет экспортировать оттуда треклист (текстовой файл с названиями треков). Это можно сделать с помощью стороннего сервиса TuneMyMusic:
- Перейдите на сайт TuneMyMusic и нажмите кнопку «Давайте приступим».
- Выберите сервис, из которого вы хотите перенести музыку, и авторизуйтесь в нем.
- Выберите плейлист для переноса, нажав кнопку «Загрузить из вашей учетной записи».
- На странице «Выберите целевую платформу» нажмите кнопку «Файл» и скачайте его в формате .txt.
- Нажмите «Начать перенос музыки».
- Сохраните файл на свой компьютер, а затем переместите его в папку с данной программой и переименуйте в
tracklist.txt
. - В файле настроек (
config.env
, лежит в папке с программой) с помощью блокнота выключите режим spotify:SPOTIFY_MODE="0"
- Готово, запускайте скрипт!
Инструкция частично заимствована отсюда.
Альтернативы
- Яндекс Музыка: расширение для Google Chrome (могут быть неточности из-за формата экспорта #5).
- YouTube Музыка: сервис yt.spotya.ru.
- Apple Music, Deezer, Amazon и другие: вместо TuneMyMusic можете воспользоваться конкурентом - Soundiiz.
Как создать плейлист из ссылок на треки во Вконтакте
На любой трек во ВКонтакте можно получить прямую ссылку, если вы создадите список таких ссылок, то их также можно будет добавить в плейлист с помощью данной утилиты. Это может быть полезно, если вы создаете плейлисты в стороннем приложении для прослушивания музыки, например, в AIMP с использованием плагина VK Plugin.
Чтобы перейти в режим импорта из списка ссылок, в config.env
отключите режим Spotify: SPOTIFY_MODE="0"
и включите
режим VK_LINKS_MODE="1"
. Теперь скрипт будет добавлять треки по ссылкам из файла tracklist.txt
минуя поиск. Вот как
должен выглядеть этот список:
https://vk.com/audio570484580_456249918_30a6c863d7cb56d834
https://vk.com/audio570484580_456245588_3c170a3340106a374a
https://vk.com/audio570484580_456245614_4bb21fb36173e3c61b
https://vk.com/audio570484580_456254608_7784e1bddd07c3289f
Как получить список ссылок на музыку в AIMP-е
- Установить VK Plugin в AIMP
- Правой кнопкой мыши по списку треков "Экспорт треклиста"
- Появится окошко с настройками экспорта, в поле "Форматная строка" написать
%Link
и кликнуть "ОК" - Готово! Треклист можно сохранять как
tracklist.txt
, предварительно удалив из него лишние строки в самом начале файла.
Настройки
Описание настроек
Параметр | Описание | Значение по умолчанию |
---|---|---|
VK_TOKEN |
Токен для доступа к VK API** | "" |
BYPASS_CAPTCHA |
Включить обход капчи автоматически (если отключить, будет предложено вводить капчу каждый раз вручную) | 1 |
SPOTIFY_MODE |
Включить режим импорта из Spotify | 1 |
APPLE_MODE |
Включить режим импорта из Apple Music | 0 |
VK_LINKS_MODE |
Включить режим импорта из списка ссылок на треки во Вконтакте (ссылки должны быть в файле tracklist.txt ) |
0 |
REVERSE |
Добавлять треки в обратном порядке (от новых к старым) | 1 |
STRICT_SEARCH |
Искать только точные совпадения по исполнителю | 0 |
ADD_TO_LIBRARY |
Добавлять треки в мои аудиозаписи | 0 |
ADD_TO_GROUP_ID |
Добавлять треки в сообщество с указанным ID. Если пусто, то опция выключена. | `` |
TIMEOUT_AFTER_ERROR |
Задержка после ошибки (в секундах)* | 10 |
TIMEOUT_AFTER_CAPTCHA |
Задержка после капчи (в секундах)* | 30 |
TIMEOUT_AFTER_SUCCESS |
Задержка после успешного импорта (в секундах)* | 1 |
*Только для beta-версии. ** Ссылка для получения токена здесь.
Добавление в мои аудиозаписи
По-умолчанию треки переносятся в плейлист без добавления в раздел "мои аудиозаписи". Чтобы включить добавление музыки в свою
медиатеку ВКонтакте, в config.env
включите соответственный пункт: ADD_TO_LIBRARY="1"
.
Используйте с осторожностью: ВКонтакте не проверяет трек на наличие в аудиозаписях, так что при импорте возможны дубликаты.
Импорт музыки из треклиста
По-умолчанию включен импорт треков из плейлиста Spotify, чтобы перейти в режим импорта из треклиста, в config.env
отключите режим Spotify: SPOTIFY_MODE="0"
. Теперь скрипт будет искать треки из файла tracklist.txt
(его нужно
создать самостоятельно в папке со скриптом), который должен содержать список треков, разделенных переносом, например:
Khalid - Better
Billie Eilish - i love you
Если дефисы не проставлены, скрипт проставит их автоматически после первого слова.
Треки в обратном порядке
По-умолчанию все плейлисты добавляются в обратном порядке (от новых к старым). Чтобы это отключить, в config.env
отключите режим обратного порядка: REVERSE="0"
.
Строгий поиск
По-умолчанию скрипт ищет неточные совпадения для треков и также их переносит, побочный эффект этого: в вашу медиатеку
могут попасть ремиксы и bassboosted-версии. Чтобы разрешить перенос только точных совпадений по исполнителю,
в config.env
включите строгий режим: STRICT_SEARCH="1"
.
Добавление в сообщество (группу)
Чтобы добавить треки в сообщество (группу), вы должны быть её администратором. В config.env
добавьте строчку:
ADD_TO_GROUP_ID="123456789"
. Вместо123456789
укажите ID сообщества (как узнать id группы в VK),
в которое вы хотите добавить треки.
Возможные проблемы и их решения
Обход капчи не работает на macOS на M1
Это происходит из-за проблем с установкой onnx-runtime.
- Решение 1: запустите скрипт через Python x64 с помощью Rosetta.
-
Решение 2: отключить распознавание капчи и вводить ответы вручную. Для этого закомментируйте строчку
импорта
import onnxruntime as rt
вvk-music-import.py
(можете удалить строчки, где эта библиотека используется) и выключите распознавание капчи в файлеconfig.env
:BYPASS_CAPTCHA="0"
.
Не работает обход капчи
- Увеличьте значение
CAPTCHA_TIMEOUT
вconfig.env
(по-умолчанию 30 секунд)*. - Отключите автоматический обход капчи в
config.env
:BYPASS_CAPTCHA="0"
и вводите ответы вручную. - Повторите попытку через некоторое время, возможно ВКонтакте временно заблокировал ваш аккаунт.
Слетела конфигурация по умолчанию
Все настройки хранятся в файле config.env
, если он был удален или повредился, то его можно восстановить вручную, вставив настройки по умолчанию из файла в репозитории.
Компиляция программы
Вы можете скомпилировать данную утилиту самостоятельно, в том числе для своей операционной системы (в инструкции пример для Windows).
- Создайте виртуальное окружение и установите зависимости и Pyinstaller:
python -m virtualenv venv venv\Scripts\activate pip install -r requirements.txt pip install pyinstaller
- Запустите компиляцию (да, это больно):
pyinstaller --onefile --icon=app.ico --add-binary="venv\Lib\site-packages\onnxruntime\capi\onnxruntime_providers_shared.dll;.\onnxruntime\capi" --windowed --hidden-import=PySide2 --hidden-import=tkinter .\vk-music-import.py
- Скопируйте в папку
dist
файл с моделями капчи (models
) и файл конфигурации (config.env
):cp -r .\models\ .\dist\models cp .\config.env .\dist
Поддержка пользователей
Полезный материал
- Айти заметки - телеграм-канал автора сервиса.
- Spotya - сервис для переноса музыки из Spotify в Яндекс Музыку, некоторые метаданные о плейлистах я собираю с его API.
- vkCaptchaBreaker - модель для решения капчи ВК взята из данного репозитория
- VK API Reference - описание методов VK API для доступа к аудиозаписям.
Альтернативные решения
- Официальный сервис "Перенос Музыки" - Умеет переносить пользовательскую библиотеку из резервных копий Spotify
Условия пользования
Автор не несет ответственности за любые действия, которые предпринимаете с данным ПО, вы делаете всё на свой страх и риск. Учитывайте, что данный метод импортирования музыки не является официальным, но банов за его использования пока не было.