Giter VIP home page Giter VIP logo

yandex-music-downloader's Introduction

yandex-music-downloader

Содержание

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

О программе

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

Возможности

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

Установка

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

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

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

  1. Войдите в свой Яндекс аккаунт.
  2. Передайте название вашего браузера в качестве аргумента --browser

Если программа выдает ошибку при загрузке cookies - укажите путь к файлу с cookies в качестве аргумента --cookies-path. Информацию о расположении данного файла для вашего браузера вы можете найти в интернете. Если что-то не получается - откройте issue.

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

Во всех примерах замените <браузер> на название своего браузера (для получения допустимых значений запустите программу с флагом --help)

Скачать все треки Twenty One Pilots в высоком качестве

python3 main.py --browser "<браузер>" --hq --url "https://music.yandex.ru/artist/792433"

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

python3 main.py --browser "<браузер>" --hq --add-lyrics --url "https://music.yandex.ru/album/294912"

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

python3 main.py --browser "<браузер>" --url "https://music.yandex.ru/album/11644078/track/6705392"

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

usage: __main__.py [-h] [--hq] [--skip-existing] [--add-lyrics]
                   [--embed-cover] [--cover-resolution <Разрешение обложки>]
                   [--delay <Задержка>] [--stick-to-artist] [--only-music]
                   (--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
                   [--unsafe-path] [--dir <Папка>] [--path-pattern <Паттерн>]
                   --browser BROWSER [--cookies-path COOKIES_PATH]
                   [--user-agent <User-Agent>]

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

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

Общие параметры:
  --hq                  Загружать треки в высоком качестве
  --skip-existing       Пропускать уже загруженные треки
  --add-lyrics          Загружать тексты песен
  --embed-cover         Встраивать обложку в .mp3 файл
  --cover-resolution <Разрешение обложки>
                        по умолчанию: 400
  --delay <Задержка>    Задержка между запросами, в секундах (по умолчанию: 3)
  --stick-to-artist     Загружать альбомы, созданные только данным
                        исполнителем
  --only-music          Загружать только музыкальные альбомы (пропускать
                        подкасты и аудиокниги)

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 (по умолчанию: #album-
                        artist/#album/#number - #title)

Авторизация:
  --browser BROWSER     Браузер из которого будут извлечены данные для
                        авторизации. Укажите браузер через который вы входили
                        в Яндекс Музыку. Допустимые значения: chrome, opera,
                        opera_gx, firefox, edge, safari, chromium, vivaldi,
                        librewolf
  --cookies-path COOKIES_PATH
                        Путь к файлу с cookies. Используйте если возникает
                        ошибка получения cookies
  --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

Ошибка 400

Ниже приведена инструкция по устранению ошибки 400.

  1. Перейдите на сайт Яндекс.Музыки
  2. Прорешайте капчу
  3. Готово, теперь вы можете скачивать треки без ошибок

Если проблема сохраняется - откройте issue.

Спасибо

Разработчикам проекта yandex-music-download. Оттуда был взят код хэширования.

Дисклеймер

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

yandex-music-downloader's People

Contributors

llistochek avatar magm1go avatar mrpixelcat avatar pasharet avatar zazaqoo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.