Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 15 ноября 2018 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Калытюк И.С. РАЗРАБОТКА И ИССЛЕДОВАНИЕ АЛГОРИТМА ИЗВЛЕЧЕНИЯ ДАННЫХ ГЕОЛОКАЦИИ В СОЦИАЛЬНЫХ СЕТЯХ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXI междунар. студ. науч.-практ. конф. № 11(70). URL: https://sibac.info/archive/technic/11(70).pdf (дата обращения: 20.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 20 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

РАЗРАБОТКА И ИССЛЕДОВАНИЕ АЛГОРИТМА ИЗВЛЕЧЕНИЯ ДАННЫХ ГЕОЛОКАЦИИ В СОЦИАЛЬНЫХ СЕТЯХ

Калытюк Иван Сергеевич

магистрант 2 курса, кафедра автоматики НГТУ,

РФ, г. Новосибирск

Гунько Андрей Васильевич

научный руководитель,

канд. тех. наук, доцент НГТУ,

РФ, г. Новосибирск

Введение

В настоящее время социальные сети занимают большую часть интернет-сегмента. Количество пользователей, зарегистрированных в соцсетях растет с каждым днем и примерно 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 вносится эта информация, которая используется разработчиком в определенных целях.

 

Список литературы:

  1. Методы определения местоположения пользователя [Электронный ресурс] // Хабрахабр. – Режим доступа: https://habrahabr.ru/post/193372/ – Заглавие с экрана. – (Дата обращения: 01.06.2018).
  2. Геотаргетинг для программиста. Что интересного могут рассказать бесплатные геоинформационные API [Электронный ресурс] // Хакер. – Режим доступа: https://xakep.ru/2015/06/25/geotargeting-api-197/ – Заглавие с экрана. – (Дата обращения: 14.07.2018).
  3. Запросы к API. Разработчикам [Электронный ресурс] // API VK. – Режим доступа: https://vk.com/dev/api_requests – Заглавие с экрана. – (Дата обращения: 09.09.2018).
  4. Sypex Geo – быстрое и качественное определение страны и города по Ip-адресу [Электронный ресурс] // Sypex Geo. – Режим доступа: https://sypexgeo.net/ – Заглавие с экрана. – (Дата обращения: 23.10.2018).
Проголосовать за статью
Конференция завершена
Эта статья набрала 20 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.