- О программе
- Установка
- Получение данных для авторизации
- Примеры использования
- Использование
- Спасибо
- Дисклеймер
Загрузчик, созданный вследствие наличия фатального недостатка в проекте yandex-music-download.
- Возможность загрузки:
- Всех треков исполнителя
- Всех треков из альбома
- Всех треков из плейлиста
- Отдельного трека
- Загрузка всех метаданных трека/альбома:
- Номер трека
- Номер диска
- Название трека
- Исполнитель
- Дополнительные исполнители
- Год выпуска альбома
- Обложка альбома
- Название альбома
- Текст песни (при использовании флага
--add-lyrics
)
- Поддержка паттерна для пути сохранения музыки
Для запуска скрипта требуется Python 3.8+
git clone https://github.com/llistochek/yandex-music-downloader.git
cd yandex-music-downloader
pip install -r requirements.txt
python3 main.py
Войдите в свой Яндекс аккаунт, затем проделайте следующие шаги:
- Перейдите на сайт Яндекс Музыки (https://music.yandex.ru)
- Нажмите F12
- Выберите вкладку Application
- Выберите пункт Cookies->https://music.yandex.ru
- Скопируйте значение куки (кликните на значение куки 2 раза -> Ctrl+C):
- Куки
Session_id
- это аргумент--session-id
- Куки
- Перейдите на сайт Яндекс Музыки (https://music.yandex.ru)
- Нажмите F12
- Выберите вкладку Storage
- Выберите пункт Куки->https://music.yandex.ru
- Скопируйте значение куки (кликните на значение куки 2 раза -> Ctrl+C):
- Куки
Session_id
- это аргумент--session-id
- Куки
Во всех примерах замените <ID сессии>
на значение куки Session_id
Скачать все треки Twenty One Pilots в высоком качестве
python3 main.py --session-id "<ID Сессии>" --hq --url "https://music.yandex.ru/artist/792433"
Скачать альбом Nevermind в высоком качестве, загружая тексты песен
python3 main.py --session-id "<ID Сессии>" --hq --add-lyrics --url "https://music.yandex.ru/album/294912"
Скачать трек Seven Nation Army
python3 main.py --session-id "<ID Сессии>" --url "https://music.yandex.ru/album/11644078/track/6705392"
usage: main.py [-h] [--hq] [--skip-existing] [--add-lyrics] [--embed-cover]
[--stick-to-artist] [--cover-resolution <Разрешение обложки>]
[--delay <Задержка>]
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET,VERBOSE}]
(--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
[--unsafe-path] [--dir <Папка>] [--path-pattern <Паттерн>]
--session-id <ID сессии> [--user-agent <User-Agent>]
Загрузчик музыки с сервиса Яндекс.Музыка
optional arguments:
-h, --help show this help message and exit
Общие параметры:
--hq Загружать треки в высоком качестве
--skip-existing Пропускать уже загруженные треки
--add-lyrics Загружать тексты песен
--embed-cover Встраивать обложку в .mp3 файл
--stick-to-artist Загружать только альбомы созданные данным исполнителем
--cover-resolution <Разрешение обложки>
по умолчанию: 400
--delay <Задержка> Задержка между запросами, в секундах (по умолчанию: 3)
--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET,VERBOSE}
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 (по умолчанию:
#album-artist/#album/#number - #title)
Авторизация:
--session-id <ID сессии>
--user-agent <User-Agent>
по умолчанию: Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/106.0.0.0 Safari/537.36
Разработчикам проекта yandex-music-download. Оттуда был взят код хэширования.
Данный проект является независимой разработкой и никак не связан с компанией Яндекс.