Я пытался перенести плейлист из Apple Music и чуть не сломал себе мозг. Зато сделал бота, который делает это за 5 секунд

Привет, гик! Ты тоже хочешь переехать из Apple Music в другую музыкальную платформу, но не готов вручную пересохранять сотни треков? Добро пожаловать в клуб — я потратил три дня на решение этой проблемы, а теперь делюсь с вами работающим инструментом.

Проблема, которая свела меня с ума

Всё началось с простой задачи: я решил перейти с Apple Music на другую платформу. Казалось бы, что может быть сложного? Открываешь плейлист, копируешь названия треков, переносишь — profit!

На практике всё оказалось не так радужно:

  • Копирование вручную — более 800 треков, часы адской работы
  • Скриншоты — ещё хуже, потом нужно всё это распознавать и копировать
  • Специальные сервисы — либо платные, либо неработающие, либо с подпиской

После двух часов безуспешных поисков я понял: нормальных решений нет. Придётся делать своё.

Рождение идеи: Telegram-бот как панацея

Вот что мне было нужно:

  • Отправляешь ссылку на плейлист
  • Получаешь текстовый файл со списком треков
  • PROFIT!

Звучит просто, да? На деле пришлось:

  • Разбираться с парсингом Apple Music (спасибо, там хоть есть более-менее читаемые данные)
  • Поднимать сервер на Render (бесплатно, кстати)
  • Допиливать совместимость сTelegram API

Знакомьтесь: @HiSpotifyHelperBot

Мой бот делает одну простую вещь — превращает ссылку на Apple Music плейлист в аккуратный текстовый файл. Вот как это работает:

  1. Копируешь ссылку на любой публичный плейлист в Apple Music
  2. Отправляешь боту — он скачивает и анализирует страницу
  3. Получаешь файл с полным списком треков в формате "Исполнитель — Название"

Всё. Никаких подписок, регистраций и ограничений.

Технические препоны и подводные камни

Самое сложное оказалось не в написании кода, а в том, чтобы заставить это стабильно работать:

  • Apple Music постоянно меняет структуру страниц — парсер может сломаться в любой момент
  • Telegram Bot API имеет свои ограничения и квоты
  • Бесплатные хостинги вроде Render имеют свои ограничения (мой бот иногда "засыпает" без активности)

Для Яндекс.Музыки функционал пока в разработке — их система защиты оказалась сложнее, чем я предполагал. Но я работаю над этим!

Почему это удобнее всего остального

Пока я делал этого бота, успел протестировать кучу альтернатив. Вот почему мое решение лучше:

  • Не требует установки — всё работает прямо в Telegram
  • Абсолютно бесплатно — я делал это для себя, делиться не жалко
  • Мгновенный результат — от отправки ссылки до получения файла проходит 10-15 секунд
  • Простота использования — справится даже тот, кто последний раз кодил в школе на Pascal
  • Переносите этот в файл в сервис типа tunemymusic где из файла нет ограничений при переносе.

Что дальше?

Планирую добавить:

  • Поддержку Яндекс.Музыки (это вопрос времени)
  • Прямую интеграцию с Spotify (их API как раз позволяет создавать плейлисты)
  • Пакетную обработку нескольких плейлистов сразу

Попробуйте сами:

Если столкнётесь с проблемами — пишите в комментарии, буду фиксить. Идеи и предложения тоже приветствуются!

P.S. Если кто-то знает, как обойти защиту Яндекс.Музыки — делитесь секретами, мне действительно нужна помощь с этим

4
2
7 комментариев