Как найти общих друзей у двух друзей

Дополнительные возможности социальной сети ВКонтакте

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

Страница сформирована на основе API-ответа от ВКонтакте, содержащего только открытые данные пользователей социальной сети.

Общие друзья

Здесь будут отображаться общие друзья

Общие сообщества

Здесь будут отображаться общие сообщества

Telegram канал • Telegram чат

Ситуация такая: есть человек А и человек Б. Оба они состоят у меня в друзьях, но когда захожу к ним на страницу, то вижу только общих людей со мной:

как узнать общих друзей двух человек вк

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

К счастью, мне не придется сидеть и выписывать имена и фамилии юзеров и запоминать их аватарки, чтобы провести это сравнение.

Есть сервисы, которые упрощают это, например, сайт 220vk.

На нем вам нужно будет в одной поле ввести ссылку на первую страницу, в другое – на вторую, а потом нажать “Искать общих друзей и общие сообщества”.

После этого появится 2 списка:

  • общие друзья Вконтакте;
  • общие сообщества.

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

Введите ссылку или id
первого пользователя

Введите ссылку или id
второго пользователя

Страница сформирована на основе API-ответа от ВКонтакте, содержащего только открытые данные пользователей социальной сети.

Здесь будут отображаться цепочки рукопожатий

Telegram канал • Telegram чат

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

Оглавление:

    1. Как работает поиск общих друзей
    2. Сервис для поиска общих друзей Вконтакте
    3. Заключение

Как работает поиск общих друзей

Среди пользователей ВКонтакте есть те, с кем у вам имеются общие знакомства. Если вы зайдете на страницу к такому человеку, то увидите блок «Общие друзья».

Общие друзья Вконтакте

Щелкните по нему курсором мыши для просмотра.

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

Просмотр списка

Сервис для поиска общих друзей Вконтакте

Если у вас есть задача, найти общих друзей у двух пользователей, тогда следует воспользоваться сервисом 220VK (см. вк 220).

https://220vk.com/id

Перейдите по указанной ссылке. На открывшейся странице вам нужно будет указать id этих пользователей (см. как узнать id пользователя вк). Вводите данные в обе форму — в первую Id первого человека, во вторую, соответственно, второго. Теперь нажимайте на кнопку «Искать общих друзей и общие сообщества».

Поиск общих друзей у пользователей

Для вас будет сформирован список страниц. С этими людьми дружат оба ваших пользователя.

Список страниц

Если хотите посетить профиль, щелкните на ФИО под картинкой (см. как сменить фио в вк).

Заключение

Читайте также:

  • как отправить подарок самому себе вконтакте
  • как оформить страницу вконтакте
  • как запретить писать сообщения вконтакте

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

Вопросы?

Вам помогла эта информация? Удалось решить возникший вопрос?

Понравилась статья? Пожалуйста, подпишитесь на нас Вконтакте!

faq

Загрузка…

Задача

Найти общих друзей между двумя профилями. Друзья могут быть общими как в первом поколении (прямые друзья), так и во втором, третьем и так далее.

Дано

  • Первый профиль (ссылка) – source.
  • Второй профиль (ссылка) – target.

Найти

Ближайшее множество профилей, которые связывают двух данных по списку друзей.

Решение

  1. Проверить введённые данные.
  2. Получить индентификаторы пользователей.
  3. Получить список друзей source.
  4. Если нет друзей, то вывести ошибку, иначе следующий шаг.
  5. Получить список друзей target.
  6. Если нет друзей, то вывести ошибку, иначе следующий шаг.
  7. Проверить есть ли source в друзьях target. Если есть, то шаг 10. Иначе шаг 8.
  8. Перебрать массив друзей target, где каждый друг считать за target.
  9. Перейти к шагу 5 (цикл).
  10. Вывести цепочку source -> друг 1 -> друг 2 -> друг N -> target.
  11. Конец.

Ответ

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

Установка

  1. Склонировать репозиторий или скачать файл vkFindMutualFriends.php в рабочую папку.
  2. Получить сервисный ключ доступа на сайте https://vk.com/apps?act=manage в настройках созданного вами ранее приложения. Можно использовать токен от вашей странице для получения данных в приватных страницах.
  3. Задать ключ в скрипте в качестве константы SERVICE_KEY.
  4. По желанию поменять значения других констант.
  5. Убедиться, что у скрипта есть право на создание файлов по заданному пути LOG_FILE.

Запуск

Способ 1

Из консоли командой php vkFindMutualFriends.php source target , где source и target ссылки на профили двух пользователей ВКонтакте.

Способ 2

С помощью веб-сервера перейти по ссылке %ваш_сайт%/vkFindMutualFriends.php?sid=%sid&tid=%tid , где %sid и %tid нужные ссылки на профили. Вместо ссылок можно указывать индентификаторы с приставкой id или без.

Плюсы

  • Лёгкость в использовании
  • Простой алгоритм

Минусы

  • Долгое время выполнения из-за частотных ограничений VKAPI
  • Требует много ресурсов и времени при проверки глубиной от 3 и более

Комментарий

Данный скрипт был написан ради тренировки навыков программирования и не является окончательным продуктом. Идея была зарождена спонтанно и реализована в учебных целях за короткое время “на коленках”. Однако решил выложить в публичный доступ в надежде на то, что алгоритм будет полезен новычкам при начальном этапе работы с VK API. Все предложения и отзывы можете оставлять в issues.

В будущем

  • Увеличить продуктивность с помощью метода execute.
  • С каждым новым циклом освобождать память от ненужных более массивов друзей.

Добавить комментарий