Python library for VK Audio (API)


Keywords
vk, api, music, downloader, python, github-pages, hacktoberfest, learn, playlist, token
License
MIT
Install
pip install vkpymusic==3.5.1

Documentation

Лицензия Совместимость с Python Версия библиотеки PyPi downloads

VKpyMusic

Click here to switch to English version

VKpyMusic - это библиотека Python, которая предоставляет простой интерфейс для взаимодействия с API музыкального сервиса ВКонтакте (VK). Библиотека позволяет разработчикам легко выполнять операции, связанные с музыкой и другими функциональными возможностями, доступными через VK API.

Установка

Библиотека протестирована с Python 3.8-3.13.

  • Установка через pip (менеджер пакетов Python):

     $ pip install vkpymusic
  • Установка из исходников (требуется git):

     $ pip install git+https://github.com/issamansur/vkpymusic.git

Рекомендуется использование первого варианта.

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

Чтобы начать работу с VKpyMusic, вам понадобится действительный токен доступа к VK и пользовательский агент, который предоставляет доступ к API музыкального сервиса VK. Но если у вас их нет, ничего страшного - у нас есть свой собственный класс для их получения.


Использование класса TokenReceiver для получения токена и юзер-агента

Для получения токена VKpyMusic задействует класс TokenReceiver, который отвечает за выполнение авторизации с использованием доступных логина и пароля. Он предоставляет методы для обработки captcha, двухфакторной аутентификации и различных сценариев ошибок. Подробнее о работе класса здесь.

from vkpymusic import TokenReceiver

login = input("   Enter login: ")
password = input("Enter password: ")

tokenReceiver = TokenReceiver(login, password)

if tokenReceiver.auth():
    tokenReceiver.get_token()
    tokenReceiver.save_to_config()

Результат:

   Enter login: +...........
Enter password: .........
SMS with a confirmation code has been sent to your phone! The code is valid for a few minutes!
Code: 277765
Token was received!
Token was saved!


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

  • Для начала работы с аудио вы можете воспользоваться токеном, сгенерированным в прошлом пункте с помощью класса TokenReceiver:

     from vkpymusic import Service
     
     service = Service.parse_config()
  • Или указать свой токен и юзер-агент:

     service = Service("<your_client>", "<your_token>")

Подробнее о работе класса здесь

Получить информацию о песнях текущего пользователя

Следующий код пытается получить 10 треков пользователя. Обратите внимание, что в качестве первого аргумента принимается только ID пользователя (не username)! Если аудиозаписи пользователя закрыты, вызывается исключение VkApiException: VK API Error 201: Access denied.

user_songs = service.get_songs_by_userid(123456789, 10)

Поиск треков по запросу

songs = service.search_songs_by_text("Radiohead no surprises", 5)

Получить популярные треки

songs = service.get_popular(count=50, offset=0)

Сохранить трек локально

songs = service.search_songs_by_text("Radiohead no surprises", 5)
Service.save_music(songs[0])
# или
service.save_music(songs[0])


Полный пример

from vkpymusic import Service, TokenReceiver

login = input("   Enter login: ")
password = input("Enter password: ")

tokenReceiver = TokenReceiver(login, password)

if tokenReceiver.auth():
    tokenReceiver.get_token()
    tokenReceiver.save_to_config()

service = Service.parse_config()
tracks = service.search_songs_by_text('Radiohead no surprises')
Service.save_music(tracks[0])

Документация

Детальная документация и примеры использования для VKpyMusic находится на официальной странице GitHub:

Вклад и поддержка

Если у вас есть какие-либо предложения по улучшению VKpyMusic или вы обнаружите какие-либо проблемы, пожалуйста, создайте новую проблему на странице проекта GitHub. Мы приветствуем ваши запросы на исправления и готовы помочь вам с любыми проблемами, с которыми вы столкнетесь.

Лицензия

VKpyMusic распространяется под лицензией MIT. За более детальной информацией о лицензии обратитесь к файлу LICENSE.

Авторы

VKpyMusic разрабатывается @issamansur или/и командой 'EDEXADE, inc.'