vk_api icon indicating copy to clipboard operation
vk_api copied to clipboard

track.url возвращает ссылки на битые mp3 файлы размером 2-3 КБ

Open Andrej730 opened this issue 4 years ago • 2 comments

В последнее время при сохранении аудиозаписей из ВК начали сохраняться битые файлы размером в 2-3 КБ. Тоже самое наблюдается во всех аддонах для браузеров, которые имеют похожую функцию. Судя по всему, ВК изменил что-то в своём API для прослушивания музыки и теперь нужно изменить алгоритм подбора ссылки на скачивание.

Попробовал немного покопаться в браузере - заметил, что при прослушивании музыки браузер сохраняет сегменты песни по 20 секунд каждый и не сохраняет песню целиком. Это тоже нововведение и нужно как-то адаптировать алгоритм загрузки музыки под это?

Есть идеи, где ещё можно поднять эту тему? Возможно, есть какая-то библиотека для vk api на js или что-то такое? Так как они, скорее всего, столкнулись с аналогичной проблемой, то мы сможем искать решение вместе.

Окружение

vk_api: 11.9.6

Пример

vk_session = vk_api.VkApi(login=login, password=password)
vk_session.auth()
vk = vk_session.get_api()

vkaudio = VkAudio(vk_session)
count = 0
for track in vkaudio.get_iter():
    r = requests.get(track.get('url'), allow_redirects = True)
    open('test.mp3', 'wb').write(r.content)
    break

Andrej730 avatar Nov 16 '21 10:11 Andrej730

в #298 есть обсуждение

python273 avatar Nov 17 '21 04:11 python273

это также смежная проблема https://github.com/python273/vk_api/issues/424

dashedman avatar Nov 21 '21 18:11 dashedman