Статья опубликована в рамках: XLIV Международной научно-практической конференции «Естественные и математические науки в современном мире» (Россия, г. Новосибирск, 06 июля 2016 г.)
Наука: Информационные технологии
Секция: Системный анализ, управление и обработка информации
Скачать книгу(-и): Сборник статей конференции
дипломов
СИСТЕМА ПОИСКА ЦЕПОЧЕК СВЯЗАННЫХ УЧЕТНЫХ ЗАПИСЕЙ ПОЛЬЗОВАТЕЛЕЙ СОЦИАЛЬНЫХ СЕТЕЙ
THE SOCIAL NETWORK PROFILE CHAINS SEARCH SYSTEM
Alexander Morgunov
junior scientist in FGANU NII Specvuzavtomatika,
Russia, Rostov-on-Don
Vasily Novosiadliy
candidate of physical and mathematical sciences, head the laboratory in FGANU NII Specvuzavtomatika,
Russia, Rostov-on-Don
АННОТАЦИЯ
Целью работы является разработка системы поиска цепочек связанных учетных записей пользователей социальных сетей. Была разработана архитектура системы и необходимые для работы модули. Сбор и анализ публичных данных со страниц заданных пользователей различных онлайн социальных сетей с помощью разработанной системы позволяет получить сведения о коммуникационных структурах пользователей, факте взаимодействия и связанности различных пользователей.
ABSTRACT
The aim of this study was to develop the software for searching social network profile chains. The search system architecture and necessary modules was developed. Using this software the collection and analysis of public data from profiles of given users of different online social networks allow to receive information about user communication structures, fact of interaction and users relation.
Ключевые слова: социальные сети; цепочки пользователей; система поиска цепочек.
Keywords: social network; profile chains; profile chains search system.
Социальные сети сегодня стали неотъемлемой частью повседневной жизни человека. Ежедневно пользователи генерируют огромное количество контента на различных социальных сервисах, взаимодействуя со своими друзьями и знакомыми [1; 3]. Значительная часть такого контента является публичным и доступным для просмотра другим пользователям [6]. Кроме того, информация о взаимодействиях между пользователями является ценным ресурсом для решения различных задач, связанных с социумом [2; 5]. Следовательно, разработка системы, которая позволяет получать такие публичные данные о взаимодействии между пользователями на сегодняшний день является актуальной задачей [4; 7]. Целью работы является разработка системы поиска цепочек связанных учетных записей пользователей социальных сетей.
Для решения задачи сбора публичных данных со страниц пользователей система должна предоставлять следующие возможности:
- сбор публичных данных с учетных записей изначально заданных пользователей;
- сбор публичных данных с учетных записей пользователей, которые были найдены в процессе сбора данных с учетных записей изначально заданных пользователей (поиск в глубину на 1 уровень);
- поиск, построение и отображение цепочек связанных учетных записей по собранным данным;
- отображение типов связи между узлами цепочки;
- фильтрация цепочек по типам связи;
- выгрузка цепочек в csv-файл.
Во время разработки системы были решены следующие задачи:
- разработана архитектура;
- выбраны актуальные технологий для разработки;
- разработан модуль управления задачами;
- разработан модуль управления браузерами;
- разработан модуль авторизации;
- разработаны модули сбора публичных данных для каждой социальной сети;
- разработан модуль поиска и построения цепочек связанных учетных записей;
- разработан пользовательский интерфейс.
Для реализации разработанной архитектуры системы необходимо выбрать конкретные технологии для каждой из компонент.
Основными технологиями для разработки были выбраны язык разработки JavaScript и платформа Node.js.
Для хранения данных используется MongoDB – документно-ориентированная система управления базами данных. Такой выбор обусловлен особенностями данных для хранения.
В связи с тем, что социальные сети на сегодняшний день стараются защитить данные пользователей различными ограничениями публичных API и настройками приватности профилей, сбор данных в основном должен осуществляться через парсинг html. К тому же, обилие JavaScript сценариев и асинхронных выполнений запросов создает дополнительные трудности в процессе сбора данных. В целях решения данной проблемы был использован.
При разработке архитектуры была учтена необходимость соблюдения принципов слабой связности компонентов и устойчивости системы к сбою отдельных компонентов. Для этого подсистема была разделена на следующие глобальные компоненты:
- компонент управления подсистемой (КУП);
- компонент сбора данных и поиска цепочек (КПЦ).
Архитектура системы представлена на рисунке 1.
Рисунок 1. Схема взаимодействия модулей
Диаграмма потоков данных верхнего уровня представлена на рисунке 2.
Рисунок 2. Диаграмма потоков данных
Компонент управления подсистемой (КУП) предоставляет пользовательский веб-интерфейс для управления всей подсистемой поиска цепочек и позволяет:
- создать новую сессию поиска цепочек для заданных учетных записей;
- просмотреть список завершенных сессий;
- удалить завершенную сессию;
- просмотреть результаты сессии (найденные цепочки с указанием типов связи между узлами);
- фильтровать найденные цепочки по типам связи;
- просмотреть лог сессии;
- выгрузить отфильтрованные результаты в csv-файл;
- изменить или добавить группу настроек: адрес и порт прокси-сервера, учетные данные для каждой социальной сети.
Компонент сбора данных и поиска цепочек (КПЦ) выполняет функцию API, принимая и обрабатывая запросы от КУП, обеспечивает сбор и хранение данных, а также поиск цепочек по собранным данным. Компонент объединяет в себе следующие модули:
- модуль управления задачами;
- модуль управления браузерами;
- модуль аутентификации;
- модуль сбора данных;
- модуль поиска и построения цепочек.
Модуль управления задачами несет ответственность за старт и выполнение новой сессии. Получив запрос на старт новой сессии, выполняет следующие действия:
- Инициирует модуль управления браузерами (если он не был инициирован ранее).
- Создает новые задачи на сбор данных и добавляет их в очередь задач.
- Дождавшись сообщения от модуля управления браузерами об освобождении браузера, назначает на него очередную задачу из очереди и запускает на её выполнение. Данное действие осуществляется в асинхронном многопоточном режиме, чтобы обеспечить выполнение нескольких задач параллельно.
- При завершении очередной задачи проверяет её статус, и если она завершилась успешно, то сохраняет результат в базу данных, иначе перезапускает задачу.
Модуль управления браузерами непосредственно взаимодействует с Selenium-webdriver. Задачи модуля заключаются в открытии новых экземпляров браузеров, закрытии браузеров с ошибками, смене настроек прокси, управлении занятостью браузеров, поддержании в работоспособном состоянии работающих браузеров. После инициализации выполняет следующие действия:
- Запускает новые экземпляры браузеров с текущей активной группой настроек. После инициализации очередного браузера вызывает событие, оповещающее о том, что есть свободный экземпляр.
- Входит в бесконечный цикл мониторинга открытых браузеров. Где наблюдает за состоянием и количеством работающих экземпляров браузеров. Если в ходе мониторинга было установлено, что какой-либо из браузеров не отвечал слишком долго, заданию, которое было назначено на данный браузер, завершается с ошибкой, а сам экземпляр браузера закрывается. Если количество работающих браузеров меньше заданного максимального количества, то модуль запускает недостающее число экземпляров браузеров и на каждый созданный браузер вызывает событие, оповещающее о том, что есть свободный экземпляр.
- При успешном завершении очередного задания на сбор данных, освобождает экземпляр браузера, в котором выполнялось задание, и вызывает событие, оповещающее о том, что есть свободный браузер. В случае, если задание завершилось с ошибкой, закрывает браузер, в котором выполнялось данное задание и открывает новый экземпляр, вызывая событие, оповещающее о том, что есть свободный браузер.
Модуль аутентификации используется для проведения процедуры аутентификации браузеров в социальных сетях для дальнейшего выполнения сбора данных. Аутентификация происходит посредством ввода имени пользователя и пароля учетной записи в специальную форму на странице входа в конкретную социальную сеть. Данные учетных записей, использующихся для аутентификации, хранятся в настройках подсистемы поиска цепочек. Если для конкретной социальной сети возможна аутентификация посредством механизма cookies браузера, то при первой успешной авторизации браузера, его cookies будут использоваться для процесса аутентификации следующих экземпляров браузеров.
Модуль сбора данных осуществляет сбор данных со страниц пользователей в социальных сетях. Для каждой социальной сети разработан алгоритм сбора таких данных. Рассмотрим алгоритм сбора данных со страниц пользователей в социальной сети Facebook.
Сбор данных со страниц пользователей в социальной сети Facebook разделен на три части:
- сбор данных со стены;
- сбор данных с фотографий;
- сбор данных о друзьях.
В целях улучшения производительности и уменьшения времени сбора данных, часть действий производится в мобильной версии сайта Facebook. Так в мобильной версии осуществляется:
- сбор пользователей, поставивших отметки «Нравится»;
- сбор комментариев к фото;
- сбор данных о друзьях пользователя.
Сбор данных со стены заключается в сборе публикаций, комментариев к публикациям, отметок «Нравится» к публикациям и отметок «Нравится» к комментариям. Все данные о пользователях, совершивших какое-либо из этих действий, выбираются из специальных html элементов на странице.
Модуль поиска и построения цепочек обеспечивает поиск и построение цепочек связанных учетных записей по результатам сессии. Для этого модуль выполняет следующие действия:
- Выбирает из базы данных все результаты, которые относятся к данной сессии.
- Объединяет выбранные из базы данных результаты задач, с группировкой по типам связи.
- Осуществляет поиск цепочек связанных учетных записей (без учета направления связи), на концах которых будут находится изначально заданные учетные записи, указанные при запуске данной сессии.
В ходе данной работы была разработана система поиска цепочек связанных учетных записей пользователей социальных сетей. В дальнейшем с помощью разработанной системы возможно проведение исследований цепочек связанных пользователей, а также получение экспериментальных сведений о существующих коммуникационных структурах пользователей социальных сетей, формулировка и проверка различных гипотез на экспериментальных данных.
Список литературы:
1.Burke M., Kraut R., Marlow C. Social capital on Facebook: Differentiating uses and users // Proceedings of the International Conference on Human Factors in Computing Systems. CHI 2011, Vancouver, BC, Canada, May 7–12, 2011.
2.Dodds P.S., Muhamad R., Watts D.J. An Experimental Study of Search in Global Social Networks // Science. – 2003. – Vol. 30. – P. 827–829.
3.Ferrara E.A large-scale community structure analysis in Facebook // EPJ Data Science. – 2012.
4.Grabowicz P.A., Ramasco J.J., Moro E., Pujol J.M., Eguiluz V.M. Social Features of Online Networks: The Strength of Intermediary Ties in Online Social Media // PLoS ONE. – 2012. – Vol. 7. Issue 1.
5.Granovetter M.S. The Strength of Weak Ties // American Journ. of Sociology. – 1973. – Vol. 78. № 6. – P. 1360–1380.
6.Ugander J., Karrer B., Backstrom L., Marlow C. The Anatomy of the Facebook Social Graph. – 2011.
7.Viswanath B., Mislove A., Cha M., Gummandi K.P. On the Evolution of User Interaction in Facebook // WOSN. – 2009. – P. 37–42.
дипломов
Оставить комментарий