Простые примеры использования VK API на языке программирования Python 3.5:
- main.py — поиск групп в городе по ключевому запросу. Параметы задаются внутри кода. Авторизация происходит через access_token, который необходимо предварительно получить вручную.
- auth_vk.py — пример авторизации в VK API по логину и паролю. Пароль запрашивается только в том случае, если не удалось подключиться по сохранённому в текстовом файле access_token-у. access_token получается автоматически.
В примерах используется библиотека vk. Её нужно установить перед запуском примеров с помощью комманды: pip3 install vk —user
Пример использования VK API для поиска групп в городе по ключевому запросу. Результат выводится в файлы csv.
ПАРАМЕТРЫ ДЛЯ ПРОГРАММЫ (задаются внутри кода):
- access_token — нужно предварительно запросить. Ниже указан запрос, который нужно вставить в адресную строку браузера;
- v — версия VK API;
- keyword_city — ключевое слово для города, в котором требуется найти группы;
- keywords_groups — ключевые слова, по которым требуется найти группы;
- database.getCities — https://vk.com/dev/database.getCities (Используется для получения списка городов по ключевому слову);
- groups.search — https://vk.com/dev/groups.search (Используется для получения списка id групп соответствующих запросу.; Группы сортируются по отношению дневной посещаемости к количеству пользователей.)
- groups.getById — https://vk.com/dev/groups.getById (Используется для получения дополнительной информации из групп).
ПОЛУЧЕНИЕ КЛЮЧА ДОСТУПА ВРУЧНУЮ
Бесплатный парсер групп вконтакте, парсер id сообществ ВК
Для получения ключа доступа access_token вы должны быть зарегистрированный на VK.
где уникальный набор символов «e441e9471da7f6830508501a44fbc7f15db8f97fdd0d41b2c8ac006310fd74ddba6ed5e2effae43e0ea93» будет вашим ключом доступа.
С более подробной информацией о получении ключа доступа можно оснакомиться в документации: https://vk.com/dev/implicit_flow_user
Запуск программы: python3 main.py
Пример использования VK API для авторизации с помощью логина и пароля. После первой авторизации приложение сохраняет полученный access_token в текстовом файле auth_vk.ini, и последующие авторизации проиходят с помощью этого access_token.
Данный файл предполагается использовать в качестве модуля для последующих примеров, если в них будет требоваться авторизация. Подключить модуль можно с помощью инструкции import auth_vk .
- auth_vk_token() — авторизация с помощью сохранённого access_token-а;
- auth_vk_password() — авторизация с помощью логина и пароля. Данная функция вызывается из auth_vk_token(), в случае, если с помощью access_token-а авторизация не удалась.
В случае запуска с помощью командной строки python3 auth_vk.py программа выдаёт сообщение об успешной или неуспешной авторизации.
Пример обращения к базе данных ВК через VK API. Программа использует предыдущий пример auth_vk.py в качестве модуля для авторизации в ВК.
Как спарсить подписчиков из вконтакте. Парсинг подписчиков вконтакте. Поиск подписчиков вк
Программа просто выводит список городов в базе данных ВК по ключевому слову (keyword). Если ключевое слово не задано, то выдаётся список по ключевому слову «Балашиха».
Запуск программы: python3 getCity_vk.py «keyword»
Это простой пример получения списка друзей из ВК используя API.
Этот файл можно использовать в качестве модуля. В этом случае становятся доступными два медода:
- def get_friends(user_id) — получение друзей пользователя user_id
- def get_friends_from(user_id, city_id) — получение друзей пользователя user_id из города city_id.
Запуск программы: python3 getFriends.py [user_id] user_id — это user_id пользователя, для которого необходимо получить список друзей. По умолчанию 0.
Программа возвращает первый 5000 друзей из списка пользователя.
Простой пример получения списка подписчиков группы ВК используя API.
Может использоваться в качестве модуля для других примеров. В этом случае доступно несколько методов.
- def get_members(group_id, fil=»») — возвращает первую 1000 подписчиков группы group_id.
- def get_all_members(group_id) — возвращает всех подписчиков группы group_id.
- def get_all_members_3(group_id) — возвращает всех подписчиков группы group_id с указанием их городов.
- def get_all_members_from(group_id, city_id) — возвращает всех подписчиков группы group_id из города city_id.
Запуск программы: python3 getMembers.py [group_id] group_id — это group_id группы, для которого необходимо получить список подписчиков. По умолчанию group_id = ‘157262974’ # ID группы попечителей Школы Граня.
Пример построения списка в формате html-файла для отправки сообщений друзьям.
Требуется отправить сообщения тем друзьям, которые не состоят в клубе попечителей. Программа формирует список таких друзей и ссылки для отправки сообщений.
Запуск программы: python3 MakeListToSend.py > result.html
Пример построения списка в формате csv-файла для отправки сообщений друзьям.
Требуется отправить сообщения тем друзьям, которые не состоят в клубе попечителей. Программа формирует список таких друзей и ссылки для отправки сообщений.
Запуск программы: python3 MakeListToSend 2.py > result.csv
Источник: githubhelp.com
Получение количества подписчиков группы ВК через API
Что-я уже себе мозг вывихнул с этой помощью, которую нам даёт ВК. Вот всё там удобно, кроме помощи.
Есть группа в этом Вконтакте, в ней есть подписчики. Как получить на сторонний сайт количество подписчиков?
В твиттере вот так — http://api.twitter.c. screen_name=id
В фейсбуке вот так — http://graph.facebook.com/id
Вконтакт упрямо требует от меня регистрации отношений и всячески приглашает пройти в ЗАГС. Как ему объяснить, что я не готов к таким отношениями и он мне нужен только на один запрос?
Как я понял, метод вот этот — http://vk.com/develo. oups.getMembers
Запросы выполняются как-то так — http://vk.com/develo. _запросов_к_API или так — http://vk.com/page-1_2369497
Но там везде всё огорожено и требуется авторизация, регистрация и прочие прелести законного брака.
Кто знает, как побороть?
«Конечно, я умный человек, умнее очень многих, но счастье не в этом. » А.П. Чехов. «Три сестры»
Carpe diem / Memento mori / Ecce Homo
Под столетними сугробами библейских анекдотов.
#2 Onlink
- Из грязи в князи!
Отправлено 21 Январь 2013 — 13:35
По-моему так без регистрации никак! Даже комментарии на сайт от ВК не поставить, если не зарегистрирован в ВК, Так что оформляйтесь
Попробуй купить дешево вечные ссылки. А здесь недорогие тематические вечные ссылки. Ссылки на sape.ru все еще способны вывести в ТОП.
#3 MAzZY
Биоробот на 146%
- Из всегда здесь был
TC Отправлено 21 Январь 2013 — 13:37
Что значит «даже комментарий»? Это вообще из разных сфер понятия. Конечно, коммент не оставить, если там не зареган.
А мне же нужно просто запрос сделать, чтобы получить ту циферку, которая и так на странице висит и всем видна.
«Конечно, я умный человек, умнее очень многих, но счастье не в этом. » А.П. Чехов. «Три сестры»
Carpe diem / Memento mori / Ecce Homo
Под столетними сугробами библейских анекдотов.
#4 Onlink
- Из грязи в князи!
Отправлено 21 Январь 2013 — 14:24
MAzZY (21 Январь 2013 — 13:37) писал:
Что значит «даже комментарий»? Это вообще из разных сфер понятия. Конечно, коммент не оставить, если там не зареган.
А мне же нужно просто запрос сделать, чтобы получить ту циферку, которая и так на странице висит и всем видна.
В том то и дело, чтобы получить «ту циферку» вам придется зарегистрироваться в ВК! После того, как вы зарегистрируетесь, вы сможете получить этот ID для своего сайта и установить форму к себе на сайт. Так же вы станете админом и сможете модерировать те же комментарии! Без регистрации вы не сможете создать ни виджет комментариев ни другие виджеты, кроме кнопок поделиться и т.п.
з.ы.Хотя может я не понял вашу цель
Попробуй купить дешево вечные ссылки. А здесь недорогие тематические вечные ссылки. Ссылки на sape.ru все еще способны вывести в ТОП.
Источник: webimho.ru
Vk api получить список подписчиков
Полный спектр компьютерных услуг!
Загрузка. Пожалуйста, подождите.
Сообщение сайта
(Сообщение закроется через 2 секунды)
Внимание!
Получение участников сообщества vk.com за считанные секунды
Decker
Просмотр профиля
24.1.2015, 14:21
Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1
Вконтакте API*
Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.
Без использования метода execute, процесс получения участников группы с аудиторией в 4 000 000 человек займет примерно около 22 минут, и нам нужно будет выполнить около 4 000 запросов к API. С помощью метода execute мы ускорим этот процесс примерно до 40 секунд и выполним всего около 160 запросов.
- I. Немного о execute
- II. Реализация на javascript
- Исходники и примеры
Это универсальный метод, который позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты.
Делается обычный запрос как и на все другие методы, но в параметрах нужно передать code написанный на VKScript.
Что поддерживает VKScript и что это?
Это язык похожий на JavaSсript или ActionScript. Алгоритм должен завершаться командой return %выражение%. Операторы должны быть разделены точкой с запятой.
С помощью этого метода, мы можем получить результат нескольких методов за один запрос API.
II. Реализация на javascript
Чтобы работать с Open Api нам нужно подключить библиотеку OpenApi.
Пройдем авторизацию приложения VK и объявим массив:
VK.init( apiId: 4235235 // ID вашего приложения VK
>);
var membersGroups = []; // массив участников группы
Получим информацию о группе:
// получаем информацию о группе и её участников
function getMembers(group_id) VK.Api.call(‘groups.getById’, , function® if(r.response) $(‘.group_info’)
.html(‘
‘
+ r.response[0].name
+ ‘
Участников: ‘ + r.response[0].members_count);
getMembers20k(group_id, r.response[0].members_count); // получаем участников группы и пишем в массив membersGroups
>
>);
>
Чтобы получить участников группы мы будем использовать execute, за один запрос мы получим 25 000 участников. Execute позволяет сделать до 25 запросов описанных с помощью языка VKScript. В параметре code нам нужно передать алгоритм на языке VKScript. Я это сделал следующим образом.
var id_app = [2866099, 4195289, 4195287, 4195284, 4161477, 4161462, 4149350, 4149349, 4149336, 2394133, 3043953];
var apiID_index = Math.floor(Math.random() * (id_app.length));
VK.init( apiId: id_app[apiID_index] // ID вашего приложения VK
>);
var membersGroups = []; // массив участников группы
getMembers(30666517);
// получаем информацию о группе и её участников
function getMembers(group_id) VK.Api.call(‘groups.getById’, , function® if(r.response) $(‘.group_info’)
.html(‘
‘
+ r.response[0].name
+ ‘
Участников: ‘ + r.response[0].members_count);
getMembers20k(group_id, r.response[0].members_count); // получаем участников группы и пишем в массив membersGroups
>
>);
>
// получаем участников группы, members_count — количество участников
function getMembers20k(group_id, members_count) var code = ‘var members = API.groups.getMembers().items;’ // делаем первый запрос и создаем массив
+ ‘var offset = 1000;’ // это сдвиг по участникам группы
+ ‘while (offset < 25000 (offset + ‘ + membersGroups.length + ‘) < ‘ + members_count + ‘)’ // пока не получили 20000 и не прошлись по всем участникам
+ ‘ + ‘members = members + «,» + API.groups.getMembers().items;’ // сдвиг участников на offset + мощность массива
+ ‘offset = offset + 1000;’ // увеличиваем сдвиг на 1000
+ ‘>;’
+ ‘return members;’; // вернуть массив members
VK.Api.call(«execute», , function(data) if (data.response) membersGroups = membersGroups.concat(JSON.parse(«[» + data.response + «]»)); // запишем это в массив
$(‘.member_ids’).html(‘Загрузка: ‘ + membersGroups.length + ‘/’ + members_count);
if (members_count > membersGroups.length) // если еще не всех участников получили
setTimeout(function() < getMembers20k(group_id, members_count); >, 333); // задержка 0.333 с. после чего запустим еще раз
else // если конец то
alert(‘Ура тест закончен! В массиве membersGroups теперь ‘ + membersGroups.length + ‘ элементов.’);
> else alert(data.error.error_msg); // в случае ошибки выведем её
>
>);
>
Исходники и примеры
На случай если слишком много человек в раз попытается выполнять запросы с одного приложения VK, выглядело так:
Источник: dml.compkaluga.ru