Архив за месяц: Апрель 2016

SMM-программирование. Часть3 — Цикл for для получения информации о нескольких объектах

1. Устанавливаем Python — https://freesmm.ru/smm-help/api/vk-1/
2. Пишем первый скрипт для получения информации о пользователе по его ID — https://freesmm.ru/smm-help/api/vk-2/

Материалы для обучения:

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

В предыдущем уроке мы закончили на этом коде:

import requests
r = requests.get('https://api.vk.com/method/users.get',params={'user_ids':1, 'fields':'followers_count'})
print(r.json())

Этот код позволяет получить основную информацию о пользователе и о количестве его подписчиков (‘fields’:’followers_count’) .

Чтобы не приходилось изменять ID пользователя в длинной строке создадим новую переменную и присвоим ей значение ID пользователя:

UserId = 928041
r = requests.get('https://api.vk.com/method/users.get',params='user_ids':UserId,'fields':'followers_count'})
print(r.json())

Теперь, изменяя значение у переменной UserID (название можем назначить любое) мы можем получить информацию о любом пользователе ВК.

Но! Задача у нас стоит получить информацию о нескольких пользователях сразу. Для этого нам потребуется использовать Списки в Python и Цикл for (в самом начале статьи есть ссылки на теоретическую часть)

Список в Python обозначается как «что-то» в квадратных скобках

List = [] #это пустой список, в котором нет ни одного элемента
List2 = [1, 3, 'текст'] #список, в котором 3 элемента: 2 целых числа и 1 строка. В списке могут быть разные типы данных

Цикл нужен для того, чтобы повторить одну и ту же операция для разных значений. В нашем случае нам нужно подставить разные ID пользователей в

r = requests.get('https://api.vk.com/method/users.get',params='user_ids':UserId,'fields':'followers_count'})

В итоге наш код будет выглядеть следующим образом

UserId = [1, 928041, 342, 7527275] #список ID, для которых нужно получить информацию
for i in UserId: #i - это каждый элемент списка
    r = requests.get('https://api.vk.com/method/users.get',params={'user_ids':i,'fields':'followers_count'})
    print(r.json())

Для видео - Google Chrome 2016-04-23 18.20.12

Таким образом мы смогли получить необходимую для нас информацию о 4 пользователях с помощью всего лишь 4х строчек кода. Сбор информации о 1 000 000 пользователей будет такой же, нужно просто сказать по какому списку id проходить.

В следующем уроке я расскажу о том, что происходит если запрашивать информацию от ВКонтакте слишком часто и как это обходить.

В комментариях, оставляйте свои вопросы и пожелания к будущим урокам

SMM-программирование. Часть 2 — Первый скрипт: получаем информацию о пользователе

В предыдущей статье мы установили дистрибутив «Анаконда», в который включён Python 3.5 и множество других пакетов, которые написано другими программистами.

Один из таких пакетов — пакет Requests — http://docs.python-requests.org/en/master/ (если владеете английским, то рекомендую ознакомиться) . С помощью него мы будем отправлять запросы к API ВКонтакте, получать ответы и обрабатывать их.


Но для начала, вам потребуется самостоятельно изучить парочку материалов по Python, чтобы иметь общее представление о том, что происходит:

Получаем информацию о пользователе по его ID

Предположим, что нам нужно получить всю публичную информацию о пользователе ВКонтакте, у которого открыт профиль для всех. Для этого нам поможет метод https://vk.com/dev/users.get. Из описания видно, что нужно обязательно передавать параметр «user_ids» и дополнительно можно передать параметр «fields»  Читать далее

SMM-программирование. Часть 1 — устанавливаем Python

Постараюсь опубликовать несколько статей по использованию VK API (https://vk.com/dev/) . Есть несколько причин, почему я решил написать про это:

  • хочу повысить уровень знаний типичного SMM-щика, которые знает только про готовые инструменты. Чтобы он понимал, что это всё можно сделать. Быть может будет больше качественных сервисов для социальных медиа в целом
  • чтобы каждый мог сделать простые вещи сам, а не искать по форумам и знакомым «программистов»


Сам я не программист, поэтому могу допускать ошибки в терминах и понятиях. Я не знаю «как» многое из этого работает, но знаю, что это можно делать «так» и «так» и получить «вот это». Если захотите более глубоко погрузиться в тему буду только этому рад. Читать далее