Skip to content

Загрузчик музыки с сервиса Яндекс.Музыка

License

Notifications You must be signed in to change notification settings

llistochek/yandex-music-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yandex-music-downloader

Внимание! В версии v3 был изменен способ авторизации и некоторые аргументы. Смотрите MIGRATION.md для получения информации об изменениях

Содержание

  1. О программе
  2. Установка
  3. Получение данных для авторизации
  4. Примеры использования
  5. Спасибо
  6. Использование
  7. Уровни совместимости
  8. Дисклеймер

О программе

Загрузчик, созданный вследствие наличия фатального недостатка в проекте yandex-music-download.

Возможности

  • Возможность загрузки:
    • Всех треков исполнителя
    • Всех треков из альбома
    • Всех треков из плейлиста
    • Отдельного трека
  • Загрузка всех метаданных трека/альбома:
    • Номер трека
    • Номер диска
    • Название трека
    • Исполнитель
    • Дополнительные исполнители
    • Дата выпуска альбома
    • Обложка альбома
    • Название альбома
    • Текст песни (при использовании флага --add-lyrics)
  • Загрузка треков в lossless качестве
  • Поддержка паттерна для пути сохранения музыки

Установка

Для запуска скрипта требуется Python 3.9+

pip install git+https://github.com/llistochek/yandex-music-downloader
yandex-music-downloader --help

Получение данных для авторизации

https://yandex-music.readthedocs.io/en/main/token.html

Примеры использования

Во всех примерах замените <Токен> на ваш токен.

Скачать все треки Arctic Monkeys в наилучшем качестве

yandex-music-downloader --token "<Токен>" --quality 2 --url "https://music.yandex.ru/artist/208167"

Скачать альбом Nevermind в высоком качестве, загружая тексты песен в формате LRC (с временными метками)

yandex-music-downloader --token "<Токен>" --quality 1 --lyrics-format lrc --url "https://music.yandex.ru/album/294912"

Скачать трек Seven Nation Army

yandex-music-downloader --token "<Токен>" --url "https://music.yandex.ru/album/11644078/track/6705392"

Использование

usage: yandex-music-downloader [-h] [--quality <Качество>] [--skip-existing]
                               [--lyrics-format {none,text,lrc}]
                               [--embed-cover]
                               [--cover-resolution <Разрешение обложки>]
                               [--delay <Задержка>] [--stick-to-artist]
                               [--only-music]
                               [--compatibility-level <Уровень совместимости>]
                               (--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
                               [--unsafe-path] [--dir <Папка>]
                               [--path-pattern <Паттерн>] --token <Токен>

Загрузчик музыки с сервиса Яндекс.Музыка

options:
  -h, --help            show this help message and exit

Общие параметры:
  --quality <Качество>  Качество трека:
                        0 - Низкое (AAC 64kbps)
                        1 - Высокое (MP3 320kbps)
                        2 - Лучшее (FLAC)
                        (по умолчанию: 0)
  --skip-existing       Пропускать уже загруженные треки
  --lyrics-format {none,text,lrc}
                        Формат текста песни (по умолчанию: none)
  --embed-cover         Встраивать обложку в аудиофайл
  --cover-resolution <Разрешение обложки>
                        Разрешение обложки (в пикселях). Передайте "original" для загрузки в оригинальном (наилучшем) разрешении (по умолчанию: 400)
  --delay <Задержка>    Задержка между запросами, в секундах (по умолчанию: 0)
  --stick-to-artist     Загружать альбомы, созданные только данным исполнителем
  --only-music          Загружать только музыкальные альбомы (пропускать подкасты и аудиокниги)
  --compatibility-level <Уровень совместимости>
                        Уровень совместимости, от 0 до 1. См. README для подробного описания (по умолчанию: 1)

ID:
  --artist-id <ID исполнителя>
  --album-id <ID альбома>
  --track-id <ID трека>
  --playlist-id <владелец плейлиста>/<тип плейлиста>
  -u URL, --url URL     URL исполнителя/альбома/трека/плейлиста

Указание пути:
  --unsafe-path         Не очищать путь от недопустимых символов
  --dir <Папка>         Папка для загрузки музыки (по умолчанию: .)
  --path-pattern <Паттерн>
                        Поддерживает следующие заполнители: #number, #artist, #album-artist, #title, #album, #year, #artist-id, #album-id, #track-id, #number-padded (по умолчанию: #album-artist/#album/#number - #title)

Авторизация:
  --token <Токен>       Токен для авторизации. См. README для способов получения

Уровни совместимости

Уровень совместимости позволяет отойти от стандарта тегов, которого придерживается библиотека mutagen. Сделано это для поддержки большего количества музыкальных плееров. Ниже подробно описаны все уровни.

0

Стандартные теги mutagen.

1

Затрагиваемые форматы: m4a

  • Теги с несколькими значениями (\xa9ART и aART) устанвливаются с разделителем ;. Пример: Artist1; Artist2; Artist3

Спасибо

  • Разработчикам проекта yandex-music-api
  • @ArtemBay за скрипт получения ссылки на загрузку в lossless качестве

Дисклеймер

Данный проект является независимой разработкой и никак не связан с компанией Яндекс.