Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Правки скрипта zvukdown.py #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lis1991
Copy link

@lis1991 lis1991 commented Mar 19, 2023

Изменения относительно родного скрипта:
Исправил таймер ожидания ссылки на трек.
Убрал изменение размера обложки, считаю это излишним усложнением. Каждый может сам под себя размер поменять. Добавил вывод дополнительной информации при скачивании. В имени папки поменял местати год и название альбома.

Изменения относительно родного скрипта:
Исправил таймер ожидания ссылки на трек. 
Убрал изменение размера обложки, считаю это излишним усложнением. Каждый может сам под себя размер поменять.
Добавил вывод дополнительной информации при скачивании. 
В имени папки поменял местати год и название альбома.
@Ytik4eb
Copy link

Ytik4eb commented Jun 7, 2023

Подскажи как запустить, не запускается

@lis1991
Copy link
Author

lis1991 commented Jun 7, 2023

Надо в файл "token.txt" радом с программой сохранить свой токен доступа он длинной 32 символа.
Найти его можно следующим образом... открываешь сберзвук, входишь в учетную запись. И затем в "куки файлах" браузера находишь 32 символьную последовательность букв и цифр. Параметр называется sauth.
Удобно для этого можно воспользоваться расширением.
https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg

@alikve
Copy link

alikve commented Jun 11, 2023

Спасибо Вам огромное за эту версию, "родной" скрипт не работает под линуксом!

Добавлю, что токен ещё можно найти на https://zvuk.com/api/v2/tiny/profile

Файл token.txt должен иметь размер 32, т.е. в нём не должно быть символа newline в конце. Под линуксом можно так: echo -n "<токен>" > token.txt

@Flugegeheiman
Copy link

Flugegeheiman commented Oct 11, 2023

Привет, подскажи пожалуйста, как запустить? На Звуке нет входа по логину и паролю, там по сбер ID. Я нашёл токен в куки файлах, создал рядом с прогой файл token.txt, куда вписал токен. Затем в командной строке windows прописал python zvukdown.py и ссылку. Он нашёл трек, но потом выдал ошибку:

Traceback (most recent call last):
File "D:\Program Files (x86)\zvukdown-master\zvukdown.py", line 332, in
z.download_tracks(track_ids, True)
File "D:\Program Files (x86)\zvukdown-master\zvukdown.py", line 276, in download_tracks
releases = self.__get_releases_info(release_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files (x86)\zvukdown-master\zvukdown.py", line 180, in __get_releases_info
labels_info = self.__get_copyright(labels)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files (x86)\zvukdown-master\zvukdown.py", line 96, in __get_copyright
r.raise_for_status()
File "D:\Program Files (x86)\Python\Python312\Lib\site-packages\requests\models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://zvuk.com/api/tiny/labels?ids=16210

В чём тут может быть проблема?

@alikve
Copy link

alikve commented Oct 11, 2023

Размер файла token.txt 32 байта? Токен тот же, что на на https://zvuk.com/api/v2/tiny/profile ?

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

В чём тут может быть проблема?

Попробуй скомпилированный под windows файл отсюда:
https://github.com/lis1991/zvukdown/releases

Либо скрипт на PowerShell отсюда:
https://github.com/lis1991/get-SberZvuk

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

А что вы пытаетесь скачать?
Скрипты поддерживают альбомы и треки, плейлисты обрабатывает только повершелл
Я так и не собрался сделать плейлисты под питоном.

@Flugegeheiman
Copy link

Flugegeheiman commented Oct 11, 2023

Размер файла token.txt 32 байта? Токен тот же, что на на https://zvuk.com/api/v2/tiny/profile ?

Да, я делал по ранним комментариям, токен совпадает и с Вашей ссылкой, и с параметром sauth в куки файлах. Размер 32 байта.

А что вы пытаетесь скачать? Скрипты поддерживают альбомы и треки, плейлисты обрабатывает только повершелл Я так и не собрался сделать плейлисты под питоном.

Трек пытался скачать, вот так ссылка выглядит https://zvuk.com/track/91153286

Попробуй скомпилированный под windows файл отсюда: https://github.com/lis1991/zvukdown/releases

Либо скрипт на PowerShell отсюда: https://github.com/lis1991/get-SberZvuk

Я скачал файл .exe по первой ссылке, закинул в папку с прогой, он просто на секунду открывает пустую консоль и закрывается :/
С PowerShell ещё не разобрался, как пользоваться
Всем спасибо за такой быстрый ответ!

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

Я скачал файл .exe по первой ссылке, закинул в папку с прогой, он просто на секунду открывает пустую консоль и закрывается :/ С PowerShell ещё не разобрался, как пользоваться Всем спасибо за такой быстрый ответ!

Shift + ПКМ в папке, и "Открыть окно команд" или "Открыть окно powershell здесь".
И там вводи:

.\zvukdown.exe https://zvuk.com/track/91153286

или

.\get_sberZvuk.ps1 https://zvuk.com/track/91153286

Повершелл работает стабильнее по моим наблюдениям.
Я get_sberZvuk ом скачал твой файл без проблем.
А вот питоном не смог почему то.

@alikve
Copy link

alikve commented Oct 11, 2023

У меня тоже перестало скачиваться. :-(

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

Будет время, поковыряюсь в скриптах.

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

У меня тоже перестало скачиваться. :-(

У тебя линукс? Попробуй, в питон скрипте исправить
https://sber-zvuk.com на https://zvuk.com
Я мог забыть в двух местах поправить. Попробуй изменить, скачается ли?

@alikve
Copy link

alikve commented Oct 11, 2023

Нет, то же самое:
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://zvuk.com/api/tiny/labels?ids=16210

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

Нет, то же самое: requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://zvuk.com/api/tiny/labels?ids=16210

Надо на досуге сравнить подачу запроса в скриптах. Видать есть отличия 🤔

Теоретически поверсшелл есть и под линух, но хз как оно там будет работать.

@Flugegeheiman
Copy link

Либо скрипт на PowerShell отсюда: https://github.com/lis1991/get-SberZvuk

.\get_sberZvuk.ps1 https://zvuk.com/track/91153286

Я скачал этот архив, после ввода команды выдаёт такую ошибку:

gc : Не удается найти путь "D:\Program Files\get-SberZvuk-main\config.json", так как он не существует.
D:\Program Files\get-SberZvuk-main\get_sberZvuk.ps1:8 знак:9
+$conf = gc .\config.json|ConvertFrom-Json
+~~~~~~~~~~~~~~~~
+CategoryInfo : ObjectNotFound: (D:\Program File...ain\config.json:String) [Get-Content], ItemNotFoundException
+FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

Using Token to log in

Запрос был прерван: Не удалось создать защищенный канал SSL/TLS.
got token:

Resolve-Path : Не удается найти путь "D:\Program Files\get-SberZvuk-main\TagLibSharp.dll", так как он не существует.
D:\Program Files\get-SberZvuk-main\get_sberZvuk.ps1:53 знак:8
+$pwd = Resolve-Path ((Get-Location).path + '\TagLibSharp.dll')
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo : ObjectNotFound: (D:\Program File...TagLibSharp.dll:String) [Resolve-Path], ItemNotFoundException
+FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

loading LibSharp lib

Исключение при вызове "LoadFrom" с "1" аргументами: "Значение не может быть неопределенным.
Имя параметра: assemblyFile"
D:\Program Files\get-SberZvuk-main\get_sberZvuk.ps1:65 знак:1
+[Reflection.Assembly]::LoadFrom(($pwd))|out-null
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+FullyQualifiedErrorId : ArgumentNullException

А если в той же папке создать txt, куда заполнить данные из шаблона в readme, после чего переименовать в json, выдаёт такое:

ConvertFrom-Json : Нераспознанная escape-последовательность. (183):

далее идёт содержимое json, после чего снова

D:\Program Files\get-SberZvuk-main\get_sberZvuk.ps1:8 знак:26
+$conf = gc .\config.json|ConvertFrom-Json
+~~~~~~~~~~~~~~~~
+CategoryInfo : NotSpecified: (:) [ConvertFrom-Json], ArgumentException
+FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

Такое ощущение, что архив не полный, то он конфиг ищет, то библиотеку пытается загрузить, то ли я что-то не так сделал

@lis1991
Copy link
Author

lis1991 commented Oct 11, 2023

Точно! Диллку то я не подгрузил... 🤦
завтра вечером подгружу.

Попробуй из моего архива на 4пда скачать. там полный вариант.

https://4pda.to/forum/index.php?showtopic=1005198&view=findpost&p=124667175

Извиняюсь, я забыл 😅

@Flugegeheiman
Copy link

"Ой! Ошибка 404. Запрашиваемая информация не существует, перемещена или удалена." Это на 4pda

@alikve
Copy link

alikve commented Oct 11, 2023

На 4pda можно скачивать только залогинившись.

@alikve
Copy link

alikve commented Oct 12, 2023

скрипт на PowerShell отсюда:
https://github.com/lis1991/get-SberZvuk

Мне кажется, там в 52 строчке опечатка (oo):
if ($outpath -notmatch '\\$') {$outpath = $ooutpath + '\'}

Теоретически поверсшелл есть и под линух, но хз как оно там будет работать.

Работает! Я заменил \ на / где надо и

Start-BitsTransfer -Source $url -Destination $fullName
заменил на
wget $url -O $fullName

Ещё outpath на outPath и всё.

Спасибо!

@megapro17
Copy link
Owner

Офигеть тут сообщений... Это скрипт был написан ещё 2 года назад. Главный упор в нём был чтобы проставлялись атрибуты максимально корректно... но потом оказалось что проще качать музыку с дизера где её ещё и больше намного. а потом со сберзвука ещё и пропало много иностранных песен

@lis1991
Copy link
Author

lis1991 commented Oct 12, 2023

"Ой! Ошибка 404. Запрашиваемая информация не существует, перемещена или удалена." Это на 4pda

потому что надо войти на форум, с логином и паролем

@lis1991
Copy link
Author

lis1991 commented Oct 12, 2023

Офигеть тут сообщений... Это скрипт был написан ещё 2 года назад. Главный упор в нём был чтобы проставлялись атрибуты максимально корректно... но потом оказалось что проще качать музыку с дизера где её ещё и больше намного. а потом со сберзвука ещё и пропало много иностранных песен

Мы не специально, оно само как-то так получилось 😅

@Flugegeheiman
Copy link

На 4pda можно скачивать только залогинившись.
потому что надо войти на форум, с логином и паролем

Спасибо, в общем скачал, вручную в конфиг прописал токен. Как таковой ошибки не выдаёт, но останавливается на строке "getting info about track", после чего опять строка ввода

PS D:\Program Files\Get_SberZvuk> .\get_sberZvuk.ps1 https://zvuk.com/track/91153286
Using Token to log in
got token: тут токен
loading LibSharp lib
getting info about track
PS D:\Program Files\Get_SberZvuk>

По нажатию F12 на странице Звука внизу есть такие строки

Ресурс «https://cdn.zvuk.com/assets/fonts/Inter/Inter-SemiBold.woff2», уже загруженный по ссылке для предварительной загрузки, не был использован в течение нескольких секунд. Убедитесь, что все атрибуты тега «preload» были заданы корректно.

Content-Security-Policy: Параметры страницы заблокировали загрузку ресурса eval («script-src»).

Content-Security-Policy: Параметры страницы заблокировали загрузку ресурса https://cdn.zvuk.com/_next/static/chunks/pages/collection/playlists/favtracks-77f5a170d1ea4c61.js («default-src»).

Я не знаю, влияет это или нет. У вас есть что-то подобное при переходе со страницы на страницу Звука или при скачивании? Может у меня со стороны браузера запросы блокируются?

@lis1991
Copy link
Author

lis1991 commented Oct 12, 2023

Я не знаю, влияет это или нет. У вас есть что-то подобное при переходе со страницы на страницу Звука или при скачивании? Может у меня со стороны браузера запросы блокируются?

У меня работает.

PS D:\music\sberZvukDL_pub.0.9>  .\get_sberZvuk.ps1 https://zvuk.com/track/91153286
Using Token to log in
got token: токен
loading LibSharp lib                                                                                                    
getting info about track
getting file info Solar Fake - I Despise You - Electrostorm, Vol. 9 (FLAC)
getting lyrics...
Downloading file...
saved file d:\music\Down\_tracks\\Solar_Fake_-_I_Despise_You_-_Electrostorm,_Vol._9.flac
writing metadata...

Возможно какие то проблемы с сетью у вас...

@Flugegeheiman
Copy link

А на сайте звука рядом с поисковой строкой есть какой-нибудь знак щита, который блокирует всякие куки?

@lis1991
Copy link
Author

lis1991 commented Oct 12, 2023

А на сайте звука рядом с поисковой строкой есть какой-нибудь знак щита, который блокирует всякие куки?

Нету.

@lis1991
Copy link
Author

lis1991 commented Oct 12, 2023

А на сайте звука рядом с поисковой строкой есть какой-нибудь знак щита, который блокирует всякие куки?

В смысле в фаерфоксе шит то есть, но он ничего на звуке не блокирует. И сам звук в браузере работает.

@Flugegeheiman
Copy link

Ну да, я про него. Лично у меня он был активирован. Я его отключил, но ничего не изменилось. Либо уже было поздно, либо он ни на что не влиял. Фиг знает тогда, что ему не нравится, уже неделю эти скрипты запустить пытаюсь, голова уже болит от них)

@strted
Copy link

strted commented Jan 29, 2024

скрипт на PowerShell отсюда:
https://github.com/lis1991/get-SberZvuk

Мне кажется, там в 52 строчке опечатка (oo): if ($outpath -notmatch '\\$') {$outpath = $ooutpath + '\'}

Теоретически поверсшелл есть и под линух, но хз как оно там будет работать.

Работает! Я заменил \ на / где надо и

Start-BitsTransfer -Source $url -Destination $fullName заменил на wget $url -O $fullName

Ещё outpath на outPath и всё.

Спасибо!

Здравствуйте, пожалуйста поделитесь исправленным вариантом скрипта, что-то не получается самому наладить.

@alikve
Copy link

alikve commented Jan 29, 2024

Здравствуйте, пожалуйста поделитесь исправленным вариантом скрипта, что-то не получается самому наладить.

Вам для Линукса?

@strted
Copy link

strted commented Jan 29, 2024

Здравствуйте, пожалуйста поделитесь исправленным вариантом скрипта, что-то не получается самому наладить.

Вам для Линукса?

ну, у меня mac os x, это вроде одна тема

@alikve
Copy link

alikve commented Jan 29, 2024

get_sberZvuk-linux.ps1.gz

ну, у меня mac os x, это вроде одна тема

Этот скрипт у меня работает на линуксе.

@strted
Copy link

strted commented Jan 31, 2024

get_sberZvuk-linux.ps1.gz

ну, у меня mac os x, это вроде одна тема

Этот скрипт у меня работает на линуксе.

Спасибо!!! Реально помог!!! Всё получилось!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants