7 KiB
7 KiB
yandex-music-downloader
Содержание
- О программе
- Установка
- Получение данных для авторизации
- Примеры использования
- Использование
- Спасибо
- Дисклеймер
О программе
Загрузчик, созданный вследствие наличия фатального недостатка в проекте yandex-music-download.
Возможности
- Возможность загрузки:
- Всех треков исполнителя
- Всех треков из альбома
- Всех треков из плейлиста
- Отдельного трека
- Загрузка всех метаданных трека/альбома:
- Номер трека
- Номер диска
- Название трека
- Исполнитель
- Дополнительные исполнители
- Год выпуска альбома
- Обложка альбома
- Название альбома
- Текст песни (при использовании флага
--add-lyrics)
- Поддержка паттерна для пути сохранения музыки
Установка
Для запуска скрипта требуется Python 3.8+
git clone https://github.com/llistochek/yandex-music-downloader.git
cd yandex-music-download
pip install -r requirements.txt
python3 main.py
Получение данных для авторизации
Войдите в свой Яндекс аккаунт, затем проделайте следующие шаги:
Для Google Chrome/Chromium
- Перейдите на сайт Яндекс Музыки (https://music.yandex.ru)
- Нажмите F12
- Выберите вкладку Application
- Выберите пункт Cookies->https://music.yandex.ru
- Скопируйте значение куки (кликните на значение куки 2 раза -> Ctrl+C):
- Куки
Session_id- это аргумент--sesion-id
- Куки
Для Firefox
- Перейдите на сайт Яндекс Музыки (https://music.yandex.ru)
- Нажмите F12
- Выберите вкладку Storage
- Выберите пункт Куки->https://music.yandex.ru
- Скопируйте значение куки (кликните на значение куки 2 раза -> Ctrl+C):
- Куки
Session_id- это аргумент--sesion-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]
[--cover-resolution <Разрешение обложки>] [--add-lyrics]
[--delay <Задержка>] [--add-version] [--stick-to-artist]
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET,VERBOSE}]
(--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
[--dir <Папка>] [--path-pattern <Паттерн>] --session-id <ID
сессии> [--user-agent <User-Agent>]
Загрузчик музыки с сервиса Яндекс.Музыка
optional arguments:
-h, --help show this help message and exit
Общие параметры:
--hq Загружать треки в высоком качестве (по умолчанию:
False)
--skip-existing Пропускать уже загруженные треки (по умолчанию: False)
--cover-resolution <Разрешение обложки>
(по умолчанию: 400)
--add-lyrics Загружать тексты песен (по умолчанию: False)
--delay <Задержка> Задержка между запросами, в секундах (по умолчанию: 3)
--add-version Добавлять информацию о версии трека (по умолчанию:
False)
--stick-to-artist Загружать только альбомы созданные данным исполнителем
(по умолчанию: False)
--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 исполнителя/альбома/трека/плейлиста
Указание пути:
--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. Оттуда был взят код хэширования.
Дисклеймер
Данный проект является независимой разработкой и никак не связан с компанией Яндекс.