Статья опубликована в рамках: LXXI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 15 ноября 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
РАЗРАБОТКА И ИССЛЕДОВАНИЕ АЛГОРИТМА ИЗВЛЕЧЕНИЯ ДАННЫХ ГЕОЛОКАЦИИ В СОЦИАЛЬНЫХ СЕТЯХ
Введение
В настоящее время социальные сети занимают большую часть интернет-сегмента. Количество пользователей, зарегистрированных в соцсетях растет с каждым днем и примерно 70 процентов пользователей интернета имеют аккаунты хотя бы в одной из популярных сетей. Например, «Вконтакте» каждый день посещает около 80 миллионов пользователей. Многие пользователи имеют несколько аккаунтов в различных социальных сетях. Актуальной проблемой для исследования является возможность получения информации об одном человеке путем объединения различных данных, находящихся в свободном доступе.
Получение подобной системы предоставит возможность использования данного алгоритма для следующих целей:
- автоматический сбор данных о пользователях, которые интересны для разработчика;
- использование геотаргетинга для объявлений, продвижения товаров и услуг;
- развлекательная и полезная составляющая для пользователей (к примеру, по климату и глубине водоемов определяем, какая рыба водится в округе);
- анонимные опросы с привязкой географического положения для последующего анализа.
Оригинальной особенностью предлагаемого решения является объединение различных методов для разных социальных сетей в одно web-приложение.
Постановка задачи
Предметом разработки является web-приложение, собирающее открытые данные геолокации о конечном пользователе.
Целью работы является разработка и исследование алгоритма, получающего данные геолокации по запросу, включающему ссылку на одну из социальных сетей пользователя.
Поставлены следующие задачи:
- обзор методов получения геоинформации;
- реализация прототипа продукта;
- исследование прототипа;
- разработка итогового продукта.
Способы реализации
Рассмотрим наиболее известные способы определения геолокации:
- получение информации из метаданных фотографий;
- использование API социальных сетей;
- использование информации из баз данных GeoIP;
- получение информации от мобильных операторов. [1]
Наиболее интересной является возможность определить геолокацию на основе данных пользовательских фотографий и фото, на которых отмечен пользователь. GPS-координаты сохраняются в метаданных снимков, сделанных фотоаппаратом и загруженными в сеть. В данном методе используется библиотека exif-js или инструменты для чтения exif-data:
- PHP - функция read_exif_data();
- Python - Package ExifRead 2.0 [2]
Также, возможно использование API социальных сетей. Считается наиболее эффективным способом, так как позволяет автоматизировать сбор данных. К примеру, используя документацию VK API, возможно составление запросов для получения списка фотографий по географической информации и времени.
Пример, использующий VK API:
Возьмем определенный адрес. Посмотрим на сервисе Яндекс.Карты текущую долготу и ширину, зададим максимальное количество выдаваемых фотографий = 100 и радиус 10 метров.
https://api.vk.com/method/photos.search.xml?lat=54.990&long=82.8671&count=100&radius=10
- lat — широта;
- long — долгота;
- count — количество выдаваемых запросом фотографий;
- radius — радиус окружности вокруг заданной точки.
Результат показан на рисунке 1. Запрос нашел 4 фотографии.
Рисунок 1. Результаты запроса
Откроем ссылку на вторую из данных фотографий, полученную через поле <src_xxbig>. Действительно, на фотографии изображен двор данного адреса (рисунок 2).
Рисунок 2. Полученная фотография
У Instagram и Flickr тоже существуют API с методами для поиска фотографий по геотегам. [3]
Помимо этого, существует огромное количество баз данных GeoIP, к примеру, таких как SypexGeo и IpGeoBase, которые позволят вытащить всю необходимую информацию о пользователе, зная только лишь его IP-адрес. Обработка данных этим способом происходит довольно быстро, в частности, если база данных уже сохранена на сервер разработчика сайта.
Но точность этих данных часто не очень высокая, в частности, на территории России, из-за существования «белых» и «серых» ip-адресов, при использовании которых будет правильно отображаться в лучшем случае район пользователя. Также, пользователь может использовать VPN-соединение либо браузеры типа Tor, в случае чего будет показаны данные, не соответствующие действительности. [4]
Еще существуют услуги от российских операторов, по типу «МТС Поиск», «БиЛайн Жучок», «Локатор» и другие. Они также используют геопозицию пользователей, которая является зачастую очень точной. Возможность подделки данных практически исключается.
Очевидно, что операторы предоставляют данную информацию за определенную тарификацию, а также данные, которые получены таким методом, крайне сложно (а скорее всего, запрещено), использовать в своих сторонних разработках.
Для разработки системы были выбраны следующие инструментальные средства:
в качестве СУБД выбрана MySQL. Данная система позволяет хранить все данные в базе данных на сервере. Преимуществами данной СУБД являются:
- быстродействие;
- высокий уровень безопасности;
- надежность;
- переносимость.
В качестве языка программирования выбран PHP - скриптовый язык общего назначения.
В настоящее время PHP поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.
Заключение
В ходе анализа, проведенного в данной статье, имеется представление об итоговой системе: это web-приложение, написанное на языке PHP, использующее метаданные фотографий из социальных сетей и API данных сайтов, которое по одному из аккаунтов пользователя в соцсетях, позволяет (возможно) определить и другие ссылки.
Далее, используя различную информацию, которая есть в открытом доступе, определяются посещаемые им места, либо где он находится в данный момент. На основе этого в базу данных MySQL вносится эта информация, которая используется разработчиком в определенных целях.
Список литературы:
- Методы определения местоположения пользователя [Электронный ресурс] // Хабрахабр. – Режим доступа: https://habrahabr.ru/post/193372/ – Заглавие с экрана. – (Дата обращения: 01.06.2018).
- Геотаргетинг для программиста. Что интересного могут рассказать бесплатные геоинформационные API [Электронный ресурс] // Хакер. – Режим доступа: https://xakep.ru/2015/06/25/geotargeting-api-197/ – Заглавие с экрана. – (Дата обращения: 14.07.2018).
- Запросы к API. Разработчикам [Электронный ресурс] // API VK. – Режим доступа: https://vk.com/dev/api_requests – Заглавие с экрана. – (Дата обращения: 09.09.2018).
- Sypex Geo – быстрое и качественное определение страны и города по Ip-адресу [Электронный ресурс] // Sypex Geo. – Режим доступа: https://sypexgeo.net/ – Заглавие с экрана. – (Дата обращения: 23.10.2018).
Оставить комментарий