Как найти группу в ВК – поиск без регистрации или по ID. Группа, паблик ВКонтакте не отображается в поиске

  • Big Data
  • На днях удалось провернуть интересную штуку. Для всех групп Вконтакте с числом подписчиков от 5000 до 10 000 (~100 000 групп) был построен полный граф, в котором веса рёбер равнялись пересечению аудиторий групп.


    Во-первых, такой граф красиво выглядит:

    Во-вторых, с его помощью можно быстро подбирать группы заданой тематики. Например, нужно найти группы про вязание. По ключевому слову «вязание» находим, одну подходящую группу, Knitting -Вязание online- , например. Выводим группы, с которыми она связана:

    И повторяем пока не надоест или пока не перестанут появляться новые названия.

    Вязание. В этом мире всё связано...:
    8.88% Корпорация «ПРЯЖА»
    3.06% Мамочкин канал - для творческих мам (КРЮЧКОМ!)
    2.58%
    2.30% Knitting -Вязание online-
    2.14% Интернет-Магазин Пряжи «АЖУР»
    1.94%
    1.85% Магазин пряжи - ღ ВАША ПРЯЖА ღ
    1.76% Пряжа
    1.72% Ажурный мир: связано с любовью!
    1.55%

    «Мадам Вязалкина» Пряжа (товары для рукоделия):
    2.49% Пряжа
    2.37% Корпорация «ПРЯЖА»
    1.42% Магазинчик пряжи Eesti lõng (Kauni, Кауни)
    1.39% Пряжа Кауни (Kauni) - легенда Эстонии. Вязание.
    1.32% ПРЯЖА ДЁШЕВО.ФЛИС.РЕЗИНКИ ДЛЯ ПЛЕТЕНИЯ БРАСЛЕТОВ
    1.26% Магазин пряжи и товаров для рукоделия КУДЕЛЬ
    1.24% Вязаные головные уборы и не только.
    1.21% HOBBY & HOME | РУКОДЕЛИЕ
    1.18% Интернет-Магазин Пряжи «АЖУР»
    1.15% Пряжа Spagetti Спагетти

    Аналогичного результата можно добиться грамотно подобрав ключевые слова для поиска: «вязание», «пряжа», «рукоделие», «крючком». Но их не всегда просто придумать.

    Чтобы построить такой граф было использовано несколько неочевидных технических решений, о которых я хотел бы рассказать.

    Чтобы получить полный список групп заданного размера, был прокачан прекрасный сайт allsocial.ru . Интересно как они собирают эти данные? Просто идут по всем индексам: vk.com/club1 , vk.com/club2 , ...? Брались только средние группы с числом подписчиков от 5000 до 10 000 человек по двум причинам: огромные паблики типа МДК чёкнешься прокачивать, но, что важнее, членство в них не несёт особенного сигнала, такие группы связаны со всем на свете.

    Чтобы получить список подписчиков групп в АПИ Вконтакта, есть специальный метод. Но он позволяет получать по 1000 пользователей за раз и только 3 раза за секунду. А прокачать надо было порядка 1 000 000 000 пользователей, что дофига. Получается, что надо будет ждать 3-4 суток, если ВК будет отвечать на каждый запрос мгновенно. Это, в целом, терпимо, но смущало следующее замечание в документации:

    Помимо ограничений на частоту обращений, существуют и количественные ограничения на вызов однотипных методов. По понятным причинам, мы не предоставляем информацию о точных лимитах.

    В нашем случае, это замечание напрягает, потому что нужно будет сделать 1 000 000 запросов. На помощь здесь приходит крутейший метод execute . Большой респект за него ребятам из ВК. Интересно у кого-нибудь ещё есть такая штука? Суть в том, что через execute можно посылать в Контакт программы на специальном языке VKScript, запихивать туда несколько запросов к АПИ и, возможно, какую-то логику. В моём случае программа выглядела примерно так:

    Return [ API.groups.getMembers(id=1, offset=0, count=1000), API.groups.getMembers(id=1, offset=1000, count=1000), API.groups.getMembers(id=1, offset=2000, count=1000), API.groups.getMembers(id=1, offset=3000, count=1000), API.groups.getMembers(id=1, offset=4000, count=1000), API.groups.getMembers(id=1, offset=5000, count=1000), ... ];
    Внутри программы может быть не больше 25 обращений к АПИ. То есть число запросов сокращается до 40 000, теоретически бан может миновать. Каждый такой запрос выполнялся уже совсем не мгновенно, а примерно 5-6 секунд, поэтому подождать всё равно пришлось. Да, можно было бы запустить скачивание в несколько потоков, но чёт было стрёмно. Через два с половиной дня всё докачалось и заняло примерно 10Гб у меня на диске.

    Теперь встаёт вопрос как запихнуть эти 10Гб в оперативную память и как посчитать попарное пересечение аудиторий для 100 000 групп. Спасает тот факт, что каждый пользователь состоит обычно в небольшом количестве групп (99% пользователей состоят менее чем в 15 группах). Можно выписать какие вклады вносит в пересечения каждый пользователь и потом эти вклады сложить. Пускай, например, есть два пользователя: А и Б, и три группы 1, 2 и 3. А состоит во всех трёх, Б - только в 1 и 3. А вносит вклады в три пересечения: (1, 2), (1, 3) и (2, 3), Б - в одно: (1, 3). Складываем, получаем, что 1 и 3 пересекаются по двум пользователя, остальные группы по одному. Если технично проигнорировать пользователей, которые состоят в 15 группах и больше, то придётся выписать примерно 500 000 000 пересечений, что гораздо лучше, чем при решении в лоб, где нужно будет посчитать 100 000 * 100 000 пересений.

    Прекрасно, осталась только проблема с оперативной памятью. К счастью, описанный алгоритм хорошо ложится на парадигму мап-редьюс, поэтому был запилен нано-хадуп на 50 строчек и расчёт выглядел так: выписываем группы и пользователей, которые в них состоят в две колонки:

    Group user 3953835 10 2065169 100001643 2112714 100001643 ...
    Получается файл на ~9Гб, сортируем его юниксовым сортом по второй колонке, смотрим, где состоит Павел Дуров:
    group user 2226515 1 37110020 1 38354466 1 43453499 1 60140141 1 60615047 1 64980878 1 1019652 10 ...
    Читаем файл, группируем поток по второй колонке, в памяти держим только список групп пользователя, если групп меньше 15, выписываем все паросочетания в ещё один файл:

    Source target 10000 10027193 9980615 9997141 9974 9976553 ...
    Так как порог подобран грамотно, файл получается не слишком большой - ~9Гб. Сортируем его по двум колонкам:
    source target 10000 100000 10000 100000 10000 10009982 10000 100100 10000 100100 10000 10019194 10000 10019194 10000 1002 10000 1002 10000 1002 ...
    Дальше файл читается, группируется по двум колонкам и сразу считается пересечение. Для групп 10000 и 100000, например, перечение 2 пользователя. Это можно сказать сразу, ничего хранить в памяти не надо.

    Отправить анонимно

    Мы уже писали о том, а теперь узнаем, как работает поиск сообществ ВКонтакте.

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

    ВКонтакте существует больше 160 млн сообществ, средний пользователь подписан на 50-100 групп, но читает всего 5-10 любимых пабликов.

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

    Как искать сообщества Вконтакте

    Шаг №1

    Входим в свой профиль ВК.

    Шаг №2

    Идем в раздел «Группы» на главной панели меню слева.

    С правой стороны видим меню раздела. Нас интересует «Поиск сообществ» . Кликаем по опции.


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


    Листаем сообщества в поиске, чтобы найти новые, интересные для себя.


    Шаг №3

    Еще один фильтр в параметрах поиска – «по количеству участников» .


    Здесь мы видим самые популярные сообщества.


    Шаг №4

    Рассмотрим дополнительные фильтры, касающиеся типа сообществ. Мы может выбрать группу, публичную страницу, встречу или оставить фильтр любой по умолчанию. Тогда поиск не будет фильтровать сообщества.


    Обратите внимание, что публичные страницы доступны для любого пользователя, а группы могут быть закрытыми, в которые доступ ограничен. В открытые группы вы можете вступать свободно, а в закрытые – подать заявку.

    Шаг №5

    Также можно использовать фильтры по региону – можно подобрать сообщества конкретной страны, например.


    Используйте безопасный поиск, чтобы исключить сообщества с материалами 18+.

    Теперь вы знаете, как искать новые сообщества и можете разнообразить свой ежедневный контент ВК.

    Ставьте плюс, если инструкция была вам полезна, не забывайте делиться с друзьями в соцсетях и писать комментарии.

    Для поиска сообществ:

    1. Введите в это поле название задачи, под этим названием она будет отображаться в истории всех задач в Pro-версии, под таким названием будут скачиваться результаты во Flash-версии и в Pro.

    2. Укажите данные для анализа:

    • Введите ключевое слово или словосочетание в именительном падеже, по которому нужно найти сообщества. Обратите внимание, что поиск по нескольким словам в модуле невозможен.
    • Укажите, осуществлять поиск по точному вхождению фразы или нет. При выборе "Точное вхождение поисковой фразы" в результаты попадут только те сообщества, в названии которых есть указанное словосочетание или словоформа, а не любое слово из указанного словосочетания или слово с другим окончанием.
    • Во Flash-версии дополнительно можно указать поиск только официальных, т. е. верифицированных сообществ.
    3. Фильтры настройки результатов:
    • Выберите тип сообщества, которое нужно найти: сообщество, публичную страницу или мероприятие - или выберите "любой" в случае, если тип сообщества не важен. Во Flash-версии дополнительно можно найти будущие встречи.
    • Определите географическое положение для групп и мероприятий, так как у публичных страниц информация о гео есть только в том случае, если они были созданы как группы, а затем переведены в паблики.
    Дополнительно во Flash-версии можно:
    • Задать сбор сообществ по количеству пользователей, скорости роста, отношению дневной посещаемости к количеству пользователей, отношению количества лайков к количеству пользователей, отношению количества комментариев к количеству пользователей, отношению количества записей в обсуждениях к количеству пользователей. То есть собранные сообщества будут выстроены по убыванию по выбранному параметру. Доступно при поиске без указания города. Это необходимо сделать до начала парсинга.
    • Отфильтровать список по количеству подписчиков. Сообщества, не удовлетворяющие указанным минимуму и максимуму подписчиков, в выборку не попадут. Это необходимо сделать до начала парсинга.
    • Отфильтровать список по ключевым словам, которые не должны быть в названии сообщества (ввод через пробел).
    • Отфильтровать найденные сообщества по дате, не позднее которой должен быть опубликован последний пост в сообществе. Чтобы этот параметр стал активным, нужно дождаться завершения задачи и нажать "Найти даты последнего поста".
    Как только все данные заполнены, для выполнения задачи необходимо нажать кнопку "Запустить" в Pro-версии и "Поиск" во Flash-версии.

    Если вы работаете в Pro-версии, сообщение о завершении работы придет на почту, которую вы указали при регистрации. Если же во Flash-версии, то необходимо дождаться окончания работы модуля, чтобы сохранить результаты.

    Поиск сообщества или группы ВКонтакте, обычно, не представляет для пользователя каких-либо проблем. Однако эта ситуация может радикально измениться вследствие некоторых факторов. Например, при отсутствии личной зарегистрированной странички.

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

    Найти группу ВКонтакте можно несколькими способами. В большинстве случаев от пользователя для доступа к данному функционалу социальной сети требуется регистрация.

    Интерфейс отбора сообществ в равной степени одинаково работает как на компьютере, через любой браузер, так и с мобильных устройств.

    Обратите внимание, что регистрация ВКонтакте является неотъемлемой частью вашей возможности взаимодействия с другими пользователя. Таким образом, рекомендуется в обязательном порядке обзавестись собственной страничкой.

    Способ 1: поиск сообществ без регистрации

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

    Если у вас нету возможности зарегистрироваться ВКонтакте, то и для вас есть способ найти нужные сообщества.


    Этот вариант отбора сообществ и групп ВКонтакте подойдет абсолютно любому пользователю самых обычных браузеров. При этом, совершенно неважно зарегистрированы вы или нет.

    Способ 2: стандартный поиск сообществ ВКонтакте

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


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

    Способ 3: поиск через Гугл

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

    Для начала стоит сказать, что ВКонтакте является одной из самых популярных сетей в мире, а значит, тесно контактирует с поисковыми системами. Это позволяет находить некоторые, наиболее популярные, группы и сообщества, не заходя при этом на сайт социальной сети ВКонтакте.

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


    Данный способ отбора материала является самым сложным и наименее удобным.

    При таком поиске совпадения с сайтом ВКонтакте будут лишь вначале. Более того, если сообщество не имеет популярности, является закрытым и т.п., то оно вообще не будет выведено.

    Желаем удачи, в поиске интересующих вас групп и сообществ!