llistochek / yandex-music-downloader

Загрузчик музыки с сервиса Яндекс.Музыка
MIT License
163 stars 20 forks source link

Ошибка при загрузке треков #39

Closed Druidblack closed 4 months ago

Druidblack commented 5 months ago

Добрый день. После обновления (где нужно вместо id сессии указывать имя браузера) не могу настроить программу на скачивание треков.

Я использую яндекс браузер. Как я понимаю для него нужно указывать --browser chromium. Загрузка не заработала. Пробовал указать куки (использовал этот аддон для их получения https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1 )

Итоговая команда получилась такая yandex-music-downloader --hq --skip-existing --embed-cover --cover-resolution 1000 --dir /srv/mergerfs/Music/music --browser chromium --cookies-path /srv/config/cookies.txt --url "https://music.yandex.ru/users/Druidblack/playlists/3"

Что нужно еще настроить, что бы работало как и раньше. Безымянный

Druidblack commented 5 months ago

Авторизируюсь в Яндекс Браузере на ПК с Windows, а программу запускаю на Linux без графической оболочки. P.S. Теперь непонятно стало. Авторизоваться нужно на том же пк где и запускаешь программу или нет. Раньше добавлял в cron yandex-music-downloader --hq --skip-existing --embed-cover --cover-resolution 1000 --dir /srv/mergerfs/Music/music --session-id "3:2710864378.5.0.1669644975418:pwr_Vw:d.1.2:1|37453403.4067890.2.2:4067890|3:10584761.687467.3woYcxELtFRDTc1olS-plLA2tbY" --url "https://music.yandex.ru/users/Druidblack/playlists/3"

и периодически скачивалась музыка

Vyacguru commented 5 months ago

Как я понимаю для него нужно указывать --browser chromium

Нет, библиотека для получения куки, не имеет поддержки Yandex Browser Поэтому используйте другой браузер для этого И только на том же компьютере где у вас установлен браузер

Druidblack commented 5 months ago

Я правильно понимаю. Теперь, что бы использовать программу для скачивания музыки, нужно ее ставить на Linux с графическим интерфейсом, авторизоваться в браузере (из числа тех, что указанны в хелпе) и потом можно также запускать команду для скачивания музыки.

P.S. Нет вариантов делать две версии? Старый вариант (чисто для командной строки), и новый для тех, кто работает в Linux постоянно.

llistochek commented 4 months ago

В --cookies-path должен передаваться путь к файлу с куками. Для яндекс браузера это C:\Users\Пользователь\AppData\Local\Yandex\YandexBrowser\User Data\Default\Cookies. Я не знаю в каком формате яндекс хранит куки, но по идее --browser chromium должен подойти. Если не сработает - установите любой другой браузер из списка поддерживаемых (например, chrome), войдите в нем в свой яндекс аккаунт и передайте соответствующий аргумент --browser

Druidblack commented 4 months ago

Это я уже разобрался. ПРосто я в начале не понял. Раньше для работы только командная строка была нужна. А теперь пришлось ставить виртуалку в нее ставить программу и в ней же запускать браузер, что бы авторизоваться в ЯМ. После этого я кроном запускаю программу, что бы скачивать треки. В целом то сделали для удобства (теперь не нужно отслеживать когда id сессии помрет).