Программа для поиска единомышленников ВКонтакте [Open source] / Хабр
VK предоставляет очень неплохие инструменты для таргетирования рекламы, которые позволяют найти людей нужного пола, возраста, социального и семейного положения, подписанных на определенные группы и т. д. Это только верхушка айсберга, если покопаться в больших данных, доступных соцсетям, можно узнать про человека чуть ли не больше, чем он сам о себе знает.
При этом механизма поиска новых друзей фактически нет, что довольно иронично в контексте социальной сети. С другой стороны, оно и понятно, если что-то не приносит дохода, значит развиваться, скорее всего, не будет. Для знакомств VK не так давно запустил приложение, но, насколько я понимаю, это фактически клон Tinder, и он совсем никаких данных из профилей не подтягивает, даже банального отношения к курению или алкоголю — от соцсети там только авторизация.
Нам стало интересно, насколько реально исправить эту ситуацию с помощью VK API, и вот, что из этого вышло:
Как было?
Итак, для начала стоит расписать исходное состояние. Единственная адекватная стратегия, которая приходит на ум — это найти сообщество, которое максимально близко тебе по мировоззренческим / эстетическим / хоббийным показателям, и открыть поиск по подписчикам. Ввести некоторые фильтры, например возраст, и дальше уже смотреть просто всех подряд.
Но у этого варианта есть следующие минусы:
- Много заброшенных, закрытых, фейковых профилей
- Поиск по полям жизненной позиции сломан
- Мультивыбора в поиске нет, то есть негативное и резко негативное отношение к алкоголю, например, — выбрать нельзя
- Приходится постоянно переключаться между вкладками браузера
- Приходится вручную оценивать, на каком месте у пользователя в списке рассматриваемый паблик, правда ли он ему интересен
- Приходится вручную оценивать, на что ещё подписан пользователь, нет ли там других интересных нам пабликов, или чего-то неприемлемого.
- Нельзя пометить просмотренные профили, если за раз всех не просмотрел
К счастью, практически всё это решаемо, а учитывая 100 миллионов активных пользователей в месяц, шансы найти единомышленников появляются даже у интровертов с очень специфичными вкусами.
Как стало?
Мы решили попробовать сделать проект, основанный на анализе подписок, с удобным интерфейсом и средствами автоматизации. В полностью автоматическом режим алгоритм примерно такой:
- Пользователь логинится через VK
- Скачиваем список его подписок (меньше 1М)
- Оцениваем каждую из них в соответствии с положением в списке
- Скачиваем N подписчиков из каждой его группы (N зависит от того, сколько времени он указал)
- Находим в базе пользователей, подписанных на несколько групп, и рассчитываем их рейтинг
- Для людей с наибольшим рейтингом скачиваем их списки подписок, чтобы убедиться, что найденные группы находятся не на 2048 месте построить их топ интересов
Далее программа переходит в ручной режим, где можно дополнительно указать нежелательные группы, изменить оценки, добавить группы, на которые не подписан, но люди из которых тоже интересны — всё пересчитается, топ перестроится.
Есть ещё полный режим, который можно применять для анализа отдельных групп небольшого размера. В нём база формируется исключительно путем получения данных от каждого пользователя, не требуется скачивать все группы в списке.
Про исходный код
Мы решили открыть исходники, чтобы каждый (знающий С++, ага) мог экспериментировать даже с теми параметрами, которые не вынесены в настройки. Ну и никто не переживал, что его страницу уведут в рабство к ботоводам, а данные продадут в даркнете.
Некоторые разработчики открывают код, чтобы похвастаться — смотрите как я могу. Это не тот случай. Проект развивался без четкого ТЗ, с постоянно меняющимися требованиями, и хорошей архитектуры тут как класса быть не может — даже самая гибкая, чаще всего, гнётся совсем не там, где предполагалось. После того, как проект примет финальный вид, и требования становятся понятны, обычно приходится делать очень масштабный рефакторинг, но в данном случае мы решили повременить с ним.
Во-первых, программа стала особенно актуальной в свете последних событий, и затягивать релиз ещё на месяц было бы глупо. Вдруг кому-то на карантине особенно одиноко, можно найти друзей в интернете.
Во-вторых, непонятно, интересна ли кому-нибудь вообще эта программа, и если нет — то смысла тратить время на улучшения кода тоже нет, ведь поддержки не предполагается. Так что за технический долг и срезание углов сильно не пинайте, мы в курсе.
Так же пришлось отложить и другие доработки, например ускорение работы через процедуры VK, или учет позиции группы в списке пользователя, чтобы уменьшить вклад групп, находящихся низко. Более ранний релиз и большая стабильность оказались важнее.
Системные требования
Монитор от 1366 х 768, рекомендуется FullHD. SSD тоже лишней не будет.
Базы больше чем на 5 миллионов не тестировали, после 10 наверняка начнутся сильные тормоза. Перейти на более мощную СУБД можно довольно быстро (абстракции Qt позволяют), но пока это представляется нецелесообразным, потому как многомиллионные паблики мало что говорят о подписчиках, нишевые вещи не могут быть интересны настолько многим.
Исходники тут. Бинарники под Windows и Linux.
P.S. У меня есть мысли о том, как VK могла бы улучшить ситуацию на своей стороне, но это тема для отдельной статьи.
P.P.S. У многих айтишных пабликов (в т.ч. Хабра) списки подписчиков закрыты, и учитывать их не получится.
как НКО подключить и использовать сервис
Наталья Баранова
Контент-директорка «Теплицы социальных технологий».
Сообщества «ВКонтакте» постепенно превращаются в полноценный сайт: через группу можно купить билеты, зарегистрироваться на событие, пожертвовать средства, заполнить анкету. Все это стало возможно благодаря новой функции «приложения». Корреспондент Теплицы Наталья Баранова разобралась, как она работает и почему общественным организациям нужно ее настроить.
Нововведение ВК было запущено осенью 2016 года. Приложения призывают читателя совершить различные действия с помощью кнопки. Например, «поддержать проект», «пройти тест», «записаться на тренинг».
Выбор приложений уже достаточно большой: всего их 14. Есть магазин товаров, билеты на TimePad, онлайн-записи, билеты в кино, афиша событий и даже вакансии. Все приложения открываются внутри интерфейса ВК и работают в полной и мобильной версии сайта. Можно разработать собственное приложение.
Настроить работу приложения совсем просто. Нужно перейти в раздел «управление сообществом» и найти вкладку «приложения». Перед вами откроется каталог. Выбирайте любое понравившееся приложение и нажимайте на кнопку «добавить в сообщество».
Дальше вы придумываете свое название кнопки, настраиваете, кому она будет видна (только администраторам, подписчикам или всем пользователям). Затем указываете текст сниппета (название кнопки, которое появляется, если вы даете ссылку на приложение).
В группе вы можете установить только одно приложение. Допустим, если вы уже провели опрос, то его можно снять и подключить новое приложение, например, афишу ваших мероприятий на неделю. При этом данные приложения сохранятся, если вы решите запустить его еще раз, лишь некоторые настройки придется выбрать снова.
5 полезных приложений для НКО
1. Пожертвования. С помощью приложения общественные организации могут собирать пожертвования. Только сбор должен быть на кошелек, привязанный к юридическому счету или через форму Cloudpayments.
Название кнопки для сбора можно придумать самому, к примеру, «сделать пожертвование» и ввести короткое описание, настроить видимость. Когда пользователь нажмет на кнопку, ему автоматически откроется платежная форма.
Этим приложением уже воспользовались около 100 российских НКО: благотворительные фонды «Дети-бабочки», «Гольфстрим» , «ТЕПЛЫЙ ДОМ», «Старость в радость», ЮНЕСКО.
Так выглядит форма приложения «Пожертвования» в группе «Клуб молодых журналистов». Изображение из группы ВК vk.com/newrowclub
2. Рассылка. Подключив это приложение, администраторы смогут отправлять участникам рассылки через сообщения группы. Можно подключить отложенную отправку и сделать сообщения тематическими. Например, для НКО это может быть дайджест новостей или информация о срочном сборе, наборе волонтеров. В рассылке можно включать текст, изображения, документы и карты.
3. Чат. Это хороший способ коммуникации с вашими читателями. Теплица социальных технологий уже запустила такой чат. Можно подключить функцию уведомления, когда кто-то упоминает вас в чате. У администратора прав много: писать от имени сообщества, использовать большие буквы и даже эффекты появления, привлекая внимание к важному сообщению.
Здесь можно размещать различные объявления или просто знакомиться с вашими подписчиками: задавать вопросы, спрашивать их мнение. Если вы решитесь создать такой чат, обязательно следите за ним, отвечайте на комментарии пользователей.
Можно придумать тему чата и прикрепить ссылку на видеотрансляцию, которая будет автоматически проигрываться для всех участников чата. Не стоит беспокоиться о флуде и спаме: таких пользователей можно занести в черный список.
Так выглядит приложение «Чат» в группе Теплицы социальных технологий.
4. GIGZ ‒ афиша мероприятий. Это отличный вариант для общественных организаций, которые регулярно проводят встречи, ярмарки, образовательные тренинги, консультации и различные события как онлайн, так и офлайн. На афише можно увидеть анонс встреч и оповестить о них подписчиков. А еще к каждому событию встроена кнопка «поделиться». Приложение доступно также для встреч ВК.
Еще по теме: Что такое поисковая оптимизация: структура и задачи SEO.
5. Магазин товаров. Если у вас уже есть раздел с товарами в сообществе, то его нужно интегрировать с этим недавно запущенным приложением. Благодаря ему процесс приема и обработки заказов автоматизируется. Вашим читателям больше не нужно отправлять сообщение представителю сообщества и узнавать, как приобрести товар.
Пользователи вправе оформить заказ на несколько товаров и рассчитать стоимость покупки с доставкой. Большой плюс для администратора сообщества в том, что работа с заказами проходит в удобной системе, где есть статус заказа, комментарии покупателя.
Так, у вашей НКО может появиться свой магазин с продажей сувенирной продукции.
Сувенирная продукция в разделе «Товары» благотворительной организации «Ночлежка».
6. Анкеты. Приложение поможет вам запустить анкету с функционалом, похожим на Google Forms. Приложение уведомит вас, когда пользователь заполнит анкету. Такие формы понадобятся для оценки вашего благотворительного события, образовательного семинара и получения обратной связи от участников.
Подробная инструкция о запуске приложения по ссылке.
ВКонтакте забанили «по ошибке»
Ведущая онлайн-социальная сеть ВКонтакте была на короткое время заблокирована в пятницу, что было отклонено как «ошибка», но последовало за усилением официального давления на компанию по мере того, как президент Владимир Путин укрепляет свою власть.
ВКонтакте, крупнейшая в Европе доморощенная социальная сеть с 210 миллионами зарегистрированных пользователей, была в одночасье внесена в «черный список» сайтов, которым запрещено распространять контент в России. Через несколько часов запрет был снят.
Основатель компании Павел Дуров в прошлом конфликтовал с властями из-за предоставления оппозиционным активистам площадки для организации акций протеста против Путина.
«Это произошло по ошибке», — заявил представитель Федеральной службы по надзору в сфере массовых коммуникаций Владимир Пиков.
«В данном случае кто-то поставил галочку напротив адреса социальной сети. Сайт удален из списка, ограничения на доступ к нему сняты.»
Дуров отказался выполнить приказ Федеральной службы безопасности, преемницы советского КГБ, о закрытии групп, используемых активистами для организации протестов против парламентских выборов в декабре 2011 года, на которых победила правящая партия Путина «Единая Россия».
В прошлом месяце он стал фигурантом дорожно-транспортного происшествия в Санкт-Петербурге, в котором легкое ранение получил полицейский.
Дуров свою причастность к аварии отрицает, но вместо того, чтобы дать показания в качестве свидетеля, уехал из страны, сообщают знакомые с ним источники. Он не появлялся на публике и не публиковался на своей странице ВКонтакте с 24 апреля.
Трудности руководителя совпали со сменой владельца компании, в которой фонд прямых инвестиций со связями в Кремле купил 48 процентов акций у партнеров-основателей, поддерживавших Дурова.
Накануне закрытия сделки, 17 апреля, в офисе ВК и в доме Дурова следователи провели обыски.
Покупатель, United Capital Partners, контролирует активы на сумму около 3,5 миллиардов долларов и управляется финансистом Ильей Щербовичем, который входит в совет директоров трех крупных государственных компаний, включая «Роснефть», крупнейшую нефтяную компанию, управляемую бывшим главой администрации Путина Игорем Сечиным.
«Это кропотливая и методичная работа, чтобы привести сеть под контроль Кремля», — сказал писатель-фантаст и блогер Дмитрий Глуховский, создатель видеоигры «Метро 2033», о давлении на ВК.
«Это слишком важный ресурс, чтобы стоять независимо от «силовиков», — добавил Глуховский, имея в виду союзников Путина, которые имеют опыт службы безопасности российского лидера и сейчас находятся на подъеме в политической сфере.
Щербович в интервью отрицал прикрытие Кремля и сказал, что хочет, чтобы Дуров остался на посту исполнительного директора ВКонтакте.
Источник, близкий к компании, сообщил, что на этой неделе в Швейцарии состоялось заседание совета директоров, на котором присутствовал Дуров.
Дуров владеет 12 процентами ВКонтакте, но по соглашению акционеров он также голосует от имени 40-процентного пакета, принадлежащего Mail.ru, зарегистрированной в Лондоне интернет-группе, поддерживаемой магнатом узбекского происхождения Алишером Усмановым, самым богатым человеком России.
Статьи по теме :
- Google соблюдает закон, но может не согласиться с интерпретацией
- «Репортеры без границ» называют Путина хищником и помешанным на контроле
- YouTube проиграл судебный процесс из-за видео, занесенного в черный список
Российская социальная сеть ВКонтакте присоединяется к The Standoff 365 Bug Bounty
ВКонтакте запустила программу баг-баунти на платформе The Standoff 365 Bug Bounty, разработанной Positive Technologies для выявления уязвимостей. Программа Bug Bounty предлагает вознаграждение сторонним исследователям за обнаружение недостатков безопасности и сообщение о них до того, как злоумышленники смогут их найти и использовать.
Баг баунти ВКонтакте состоит из более чем 40 проектов. Награды варьируются от 100 до 30 000 долларов США в зависимости от уровня серьезности обнаруженных уязвимостей.
ВКонтакте одной из первых в России предложила вознаграждение внешним исследователям за сообщения об уязвимостях. С 2013 года компания получила более 15 000 отчетов об ошибках и использовала их для исправления уязвимостей и усиления защиты персональных данных пользователей. В общей сложности компания выплатила более 3 миллионов долларов в виде вознаграждений за обнаружение ошибок.
Алексей Волков, вице-президент и директор по информационной безопасности ВКонтакте, сказал: «Безопасность наших клиентов и их доверие к сервисам ВКонтакте всегда были для нас приоритетом. мы давно пользуемся программой bug bounty для проверки качества наших сервисов.Этот метод имеет реальную практическую пользу.За последние полгода количество кибератак в России увеличилось в разы, и мы рады, что российские компании запускают свои собственные платформы для вознаграждения за обнаружение ошибок. Внедрив нашу программу вознаграждения за обнаружение ошибок в The Standoff 365, мы повысим способность ВКонтакте выявлять уязвимости и устранять их как можно быстрее».
Ярослав Бабин, CPO The Standoff 365, прокомментировал: «Компании нужна смелость, чтобы привлекать внешних экспертов по кибербезопасности. могут устранить уязвимости в своей ИТ-инфраструктуре до того, как злоумышленники их обнаружат и нанесут непоправимый ущерб.Запуск программы bug bounty означает мышление в долгосрочной перспективе.Это признак того, что компания открыта и заботится о безопасности личных данных своих клиентов. Тот факт, что у вас есть баунти-программа, заставляет людей больше доверять вам.