Click here to switch to English version
VKpyMusic - это библиотека Python, которая предоставляет простой интерфейс для взаимодействия с API музыкального сервиса ВКонтакте (VK). Библиотека позволяет разработчикам легко выполнять операции, связанные с музыкой и другими функциональными возможностями, доступными через VK API.
Библиотека протестирована с Python 3.8-3.12.
-
Установка через pip (менеджер пакетов Python):
$ pip install vkpymusic
-
Установка из исходников (требуется
git
):$ pip install git+https://github.com/issamansur/vkpymusic.git
Рекомендуется использование первого варианта.
Чтобы начать работу с VKpyMusic, вам понадобится действительный токен доступа к VK и пользовательский агент, который предоставляет доступ к API музыкального сервиса VK. Но если у вас их нет, ничего страшного - у нас есть свой собственный класс для их получения.
Для получения токена 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!
-
Для начала работы с аудио вы можете воспользоваться токеном, сгенерированным в прошлом пункте с помощью класса
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.'