Работа с VKapi или как скачать аудиозаписи

Работа с VKapi или как скачать аудиозаписи

Надоели всякие подозрительные плагины браузеров для скачивания музыки с Вконтакте? Тогда стоит почитать эту статейку, а кому лень, тот может найти исходник в самом конце 🙂 Нашими инструментами будут VKapi и python.

Сам я не так часто пишу скрипты на python, поэтому не судите строго. Возможно, вы захотите изменить скрипт, тогда стоит посмотреть список всех методов VKapi.

Необходимые модули python

Модули, которые нам понадобятся:

  • vk
  • time
  • urllib
  • os
  • argparse

Всё что нужно ставится с помощью команды:

Немножко кодинга и VKapi

Я хочу, чтобы скрипт запускался из командной строки со следующими ключами:

Где ключ --profile (-p) - id профиля или его короткое имя, --folder (-f) - папка, куда попадут все аудиозаписи. Для этого в самое начало скрипта добавляю:

Мне очень нравится модуль argparse свей простотой. Можно очень быстро и легко добавить к скрипту поддержку ключей. Более подробно можно почитать тут.

Для входа в ВК я использую токен:

Так как многие методы VKapi требуют именно id пользователя, а не домен, то создадим функцию, которая будет возвращать id пользователя.

Где profile_domain может быть или id или домен пользователя. Делаю sleep(1) перед вызовом метода VKapi, для того, чтобы запросы от нас шли не так часто.

Для своего удобства я создал функцию, которая по указанному id пользователя возвращает словарь, в котором ключ - название песни, а значением - url аудиозаписи. Функция необязательна, но мне кажется, что потом будет удобнее бежать по словарю в цикле и вызывать функцию для скачивания файла.

Для скачивания файлов создана следующая функция

Где folder_for_file - папка с адуиозаписями, file_name - название песни, url - ссылка на аудиозапись.

Вроде все очень просто и понятно 🙂 Полный листинг кода:

Пример использования скрипта :