58 подписчиков

Как работать c VK API и python. Для самых начинающих

889 прочитали

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python.

Работать будем в PyCharm. Если он у Вас не установлен, то можете скачать его для своей операционной системы с web-страницы https://www.jetbrains.com/ru-ru/pycharm/download/#section=windows

Далее по пунктам. Итак предположим, что у Вас уже открыт PyCharm и есть пустой файл расширения py. Выглядеть должно примерно так, как на рисунке 1

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.

Действие №1 Установите библиотеку request

  • Кликните на пункт file(слева вверху)
  • Выберите пункт settings
  • В открывшемся окне выберите Project: <имя_вашего_проекта>
  • В выпадающем списке выберите Python Interpretator
  • Справа в списке два раза кликните на pip
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-2

В открывшемся окне найдите библиотеку requests и установите ее, нажав на кнопку Install Package

После успешной установки библиотеки можно закрыть окно Available Package и окно settings. Если у Вас Интернет-соединение неустойчивое или у Вас стоит прокси-сервер, то может возникнуть ошибка при установки библиотеки. Для решения проблемы Вы можете на время скачивания библиотеки раздать Интернет со смартфона.
После успешной установки библиотеки можно закрыть окно Available Package и окно settings. Если у Вас Интернет-соединение неустойчивое или у Вас стоит прокси-сервер, то может возникнуть ошибка при установки библиотеки. Для решения проблемы Вы можете на время скачивания библиотеки раздать Интернет со смартфона.

Импортируйте библиотеку request к себе в проект

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-4

Действие №2 Создание приложения Vk

В этой статье мы рассмотрим приложение типа standalone

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-5

  • Напишите название Вашего приложения
  • Выберите Standalone-приложение
  • Остальное можно не заполнять кликните на кнопку "Подключить приложение"
  • Вам на телефон придет сообщение с кодом о регистрации приложения, подтвердите регистрацию
  • После подтверждения перейдите по ссылке https://vk.com/apps?act=manage Здесь будут показаны все ваши приложения
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-6
  • Выберите приложение и кликните Редактировать
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-7
  • Перейдите в настройки
  • В пункте состояние выберите "Включено и видно всем"
  • Сохраните изменения

Действие №3 Получение токена API

  • Измените URL, представленный ниже под собственные нужды

https://oauth.vk.com/authorize?client_id=5490057&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&response_type=token&v=5.131

  • В параметре client_id убираете 5490057 и ставите ID своего приложения
  • В параметре scope ставите те методы, с которыми вы будете работать, методы разделяете через запятую. Список методов тут: https://dev.vk.com/api/getting-started

Пример URL:

ID - 9999999

Методы: friends, messages, groups

https://oauth.vk.com/authorize?client_id=9999999&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&messages&groups&response_type=token&v=5.131

  • После того, как Вы сформировали URL вбейте его в адресную строку браузера и кликните Enter
  • Если все было выполнено верно, то Вам в адресной строке браузера выпадет токен

https://oauth.vk.com/blank.html#access_token=643989e26rgtrgcc26c41796a9dc5c3919e012b6d4739eaf863428f7c9845eaa6cc5d34bc2c33e56609e&expires_in=86400&user_id=530354969

Токен из URLa

access_token=643989e26rgtrgcc26c41796a9dc5c3919e012b6d4739eaf863428f7c9845eaa6cc5d34bc2c33e56609e

Обратите внимание, что токен находится между access_token= и &expires

Действие №4 Работа с библиотекой requests и API Vk

  • создайте переменную, в которой сохраните токен
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-8
  • У каждого метода Vk есть параметры, параметры методов можно смотреть тут: https://dev.vk.com/method. Мы будем работать с получением списка друзей пользователя - а это метод friends.get - https://dev.vk.com/method/friends.get. У данного метода несколько параметров. Создадим переменную, в которой будем хранить это. Тип данных переменной param - словарь {}
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-9

Мы добавили три параметра, которые есть у метода friends.get и каждому из них присвоили значения. Стоит помнить, что у метода Vk есть обязательные и необязательные параметры. В примере мы опускаем не обязательные параметры.

  • Формируем запрос в python. Кстати, проверить правильность выполнения запроса можно прямо на странице метода Vk (для friends.get тут: https://dev.vk.com/method/friends.get)
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-10
  • Но перейдем в python. Добавим еще одну переменную, в которой будем хранить применяемый метод
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-11

И создадим запрос из python

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-12

Где метод get - формирует get-запрос к серверу, параметр url - это путь запроса, method - это то, какой метод применяем, params - это словарь с параметрами метода vk.

  • Для того, чтобы увидеть результат добавим еще одну строчку
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-13
  • Запускаем скрипт
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-14

Ответ о нам приходит в формате Json

Результат:

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-15

Мы можем обратиться к данным, которые к нам приходят по ключам.

  • Например, для получения количества друзей:
В результате выполнения кода мы в выводе получим только общее число друзей. В примере - 87
В результате выполнения кода мы в выводе получим только общее число друзей. В примере - 87
  • Для вывода списка друзей в столбик, можем применить следующий код
Вывод в столбик со счетчиком
Вывод в столбик со счетчиком
  • Мы можем добавить еще поля в параметрах, чтобы нам выводились не только id друзей
Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-18

Результат:

Буду писать эту статью, как инструкцию. Надеюсь, что она поможет начинающим разобраться в том, как же соединить VK API и python. Работать будем в PyCharm.-19

На этом все!

Примеры работ можете посмотреть тут:

Добавление в друзья пользователей из разных сообществ - https://github.com/denisamirov/vk_friends_from_groups/blob/main/main.py

Как поздравлять друзей из аккаунта Вконтакте с Днем Рождения даже не заходя в Vk - https://vk.com/id530354969 (где-то в Ленте)