Высокие технологии для личной жизни
У соцсети существует качественно оформленный API, обладающий серьезным функционалом для взаимодействия со сторонними сервисами. Гипотеза поиска человека была формализована следующим образом: потенциальный партнер имеет схожие интересы и имеет близкие нам музыкальные предпочтения. Звучит слишком абстрактно или нет?! Думаю нет, это как минимум важные параметры, чтобы найти темы для общения и слушать схожую музыку в поездках. Остальные особенности человека, такие как рост, вес, цвет волос, чувство юмора, темперамент, размер стопы и т.д. не фиксируются в соцсети и передаются на ручной анализ автору. Чтобы не сильно урезать выборку их можно назвать даже лишними.
Схема поиска схожих интересов сводится к поиску групп, аналогичным тем, где состоит сам автор. Эту задачу мы реализуем с помощью API VK.
Подключаемся к сторонней библиотеке vk_api для генерации токена, который в свою очередь будет использован на официальном api VK.COM
На компьютерах MAC может наблюдаться проблема с генерацией токена. Получить его можно также через сервис https://vkhost.github.io. USER_ID — цифры вашего ID VK
Получаем список групп, на которые мы подписаны.
Вот так выглядит список групп, если мы смотрим в VK:
А при запуске кода, все сообщества, на которые мы подписаны, будут представлены в виде числовых идентификаторов:
API VK имеет ограничения по количеству обращений к методам, поэтому будем рассматривать небольшие по составу сообщества от 1000 до 40000 чел. В целом это даже имеет смысл так как обычно большие группы теряют некую индивидуальность по набору участников и публикуемому контенту.
Выбираем все группы небольшого размера, закрытые группы не рассматриваем.
У вас сформируется список сообществ и количеством участников.
Считаем количество повторений ID пользователя в разных группах. Пользователи с максимальным присутствием в исходных группах и есть целевая аудитория.
Создаем объект, подсчитывающий количество повторений USER_ID (all_members)
Создаем словарь, упорядоченный по количеству повторений одного и того же USER_ID в исходных группах.
После запуска кода, будет сформирован список с ID пользователей и количеством сообществ, в которых они пересекаются с вами. Уже на данном этапе можно скопировать ID пользователя, у которого максимальное количество пересечений. Результаты группировки выглядят следующим образом:
Далее выбираем первые N элементов (USER_ID) из массива
Создаем новый список, где оставляем только женщин (1-маркер женского пола, 2 — мужского)
Удаляем женщин с закрытым профилем и тех, кто подписан на большое множество групп (более 2000 групп).
Если у человека больше 2000 групп в подписках удалить его из целевой выборки можно следующим образом.
После запуска, система сформируют список ID с ссылками на VK.
Просмотрев все предложенные варианты можно уже выбрать несколько человек и попробовать завязать с ними общение😊 Но мы пойдем дальше и проверим их на совместимость по музыкальным вкусам.
Для этого вводим ID пользователя VK с открытыми аудиозаписями (номер идет после слова id, например https://vk.com/id0000000) или находим ID через сервис на сайте https://regvk.com/id/? (подходит, если у вас есть ссылка следующего типа https://vk.com/никнейм пользователя)
После авторизации, запускаем сканирование аудиозаписей одним из способов. Сканирование аудиозаписей в среднем занимает около 5 минут.
Первый способ — сканирование по частям:
Второй способ сканирования аудио в один заход:
После сканирования формируется список наименований музыкальных треков пользователя. Упорядочим этот список от наиболее часто встречающихся исполнителей к менее. Для этого создадим словарь, упорядоченный по количеству повторений исполнителя в плейлисте подходящего нам кандидата.
Результат будет представлен в следующем виде. Удобно, неправда ли. Сразу видны музыкальные предпочтения пользователя.
А это классический вариант изучения музыкальных вкусов
Исходя из полученных результатов можно понять подходит ли вам этот человек по музыкальным предпочтениям или нет. Удачных поисков, и пусть современные технологии сохранят ваше личное время и помогут расширить круг друзей.
Боюсь, сейчас в ВК сидят уже только совсем неподходящие люди, учитывая то, как эта соцсеть дискредитировала себя за последние годы.