В предыдущей статье мы установили дистрибутив «Анаконда», в который включён Python 3.5 и множество других пакетов, которые написано другими программистами.
Один из таких пакетов — пакет Requests — http://docs.python-requests.org/en/master/ (если владеете английским, то рекомендую ознакомиться) . С помощью него мы будем отправлять запросы к API ВКонтакте, получать ответы и обрабатывать их.
Но для начала, вам потребуется самостоятельно изучить парочку материалов по Python, чтобы иметь общее представление о том, что происходит:
- Синтаксис — http://pythonworld.ru/osnovy/sintaksis-yazyka-python.html
- Переменные и типы данных — https://rtfm.co.ua/python-izuchenie-s-nulya-sintaksis/
- Типы данных — http://pythonworld.ru/tipy-dannyx-v-python
- Списки — http://pythonworld.ru/tipy-dannyx-v-python/spiski-list-funkcii-i-metody-spiskov.html
- Словари — http://pythonworld.ru/tipy-dannyx-v-python/slovari-dict-funkcii-i-metody-slovarej.html
Оглавление
Получаем информацию о пользователе по его ID
Предположим, что нам нужно получить всю публичную информацию о пользователе ВКонтакте, у которого открыт профиль для всех. Для этого нам поможет метод https://vk.com/dev/users.get. Из описания видно, что нужно обязательно передавать параметр «user_ids» и дополнительно можно передать параметр «fields»
Ниже вы видите пример получения основной информации для ID = 1, Павла Дурова
Вы можете скопировать код ниже и вставить в Jupyter NoteBook и нажать на иконку «play»
import requests r = requests.get('https://api.vk.com/method/users.get',params={'user_ids': 1}) print(r.json())
- Адрес, по которому отправляется запрос
- Название метода
- Параметры запроса. В данном случае мы отправляем запрос, чтобы получить основную информацию по пользователю с ID=1
- Ответ в виде словаря (спасибо за это функции r.json())
Как получить дополнительную информацию с помощью параметра fields
Допустим, что кроме основной информации пользователя, нам нужно еще получить его «год рождения», «город», «пол».
import requests r = requests.get('https://api.vk.com/method/users.get',params={'user_ids':1, 'fields':'sex,bdate,home_town'}) print(r.json())
Проверим так ли это
Получить количество подписчиков Пользователя
Для этого нужно в fields добавить followers_count
import requests r = requests.get('https://api.vk.com/method/users.get',params={'user_ids':1, 'fields':'followers_count'}) print(r.json())
«Домашнее задание»
Получить количество участников любого паблика или открытой группы
- Найти метод в ВК API — https://vk.com/dev/methods
- Написать код запроса
- Приложить скриншот в комментариях
На следующем уроке разберём как получить информацию сразу для нескольких юзеров