Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. APIs
Code

Использование социальных сетей для выявления очевидцев важных событий

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Using Social Media to Locate Eyewitnesses.
Using Social Media to Locate Eyewitnesses: The Twitter API

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

Final product image
What You'll Be Creating

Это первый урок серии из двух частей, посвященный использованию социальных сетей для поиска очевидцев важных событий. В этом учебном пособии я расскажу вам об использовании API Instagram, для того чтобы найти пользователей, которые могли быть рядом с видеосъемкой в Макклемоне в 2013 году и сценой с авариями в Сиэтле рядом с местом, где я часто работаю.

Во второй части мы будем использовать API Twitter для поиска пользователей рядом с другим недавним событием. Я также расскажу о некоторых проблемах конфиденциальности, связанных с социальными сетями и шарингом вашей геолокации. Вы можете загрузить код для каждого эпизода, используя ссылку репозитория GitHub на боковой панели. Вы также можете быть заинтересованы в моей серии Tuts +, Работает с API Twitter.

Я участвую в обсуждениях. Если у вас есть вопрос или предложение, пожалуйста, напишите комментарий ниже. Вы также можете связаться со мной в Twitter @reifman или отправить мне электронное письмо.

Использование Geotagging это хорошо (и плохо)

Телефоны, которые мы носим в наших карманах, записывают каждый наш ход, делясь с поставщиками сотовых телефонов и часто сторонними компаниями-разработчиками программного обеспечения, чьи мотивации в основном фокусируются на прибыли. Но это не просто телефоны и GPS, которые выставляют нас - я почти всегда делаю покупки с помощью кредитных карт, подвергая почти все аспекты моей жизни кредитным провайдерам, хакерам или юридическим запросам.

Wired's Vanish Contest

В конкурсе Wired's в 2009 году Vanish я помог возглавить захват журналиста Эвана Ратлифа. После записях о людях, которые подделывают свою смерть, Ратлифф пытался исчезнуть в течение 30 дней в рамках эксперимента. Если кто-нибудь сможет найти его лично до истечения срока, он получит приз в размере 5000 долларов. Используя приложение Facebook как honeypot, я смог заманить Ratliff в многократное разделение его местоположения с помощью IP-адреса, который затем я сверил с его учетной записью Twitter, которую я обнаружил. С помощью других участников Vanish по всей стране мы вызвали помощь на земле в Новом Орлеане, которая появилась в виде магазина для пиццы без глютена (Ratliff был известен как целиакия), и мы сумели отследить его в городе. В этой истории геотаггинг не использовался, чтобы найти его. Вместо этого мы использовали географическую привязку IP-адреса. Здесь вы также можете прочитать рассказ Ратлиффа.

Но приложения для социальных сетей на нашем телефоне часто используют геотеги, оставляя след, который пользователи не всегда ожидают.

Muckraking с Geotags и социальными медиа

Многие люди не понимают, что они оставили геотаггинг в своих приложениях в социальных сетях, полностью рекламируя свое местоположение с каждым сообщением в социальных сетях. Это включало конгрессмена Республиканской партии Аарона Шока. AP использовала геотаг своей учетной записи Instagram, чтобы разоблачить использование средств налогоплательщика для экстравагантных частных рейсов и других роскошных мероприятий. См. Instagram выставил конгрессмена, который использовал государственные средства на частных рейсах и концертах.

Вот сообщение Instagram от Schock из Patagonia - обратите внимание на значок geotag рядом с «Perito Moreno Glacier»:

Congressman Aaron Shock at the Perito Moreno Glacier

Итак, исследование геотаг можно использовать во благо. В этом учебном пособии я собираюсь изучить, как журналисты и правоохранительные органы могут найти потенциальных свидетелей для важных событий, таких как преступление или происшествие с использованием социальных сетей.

Тем не менее, геотаггинг также может быть использован для плохих целей. Есть определенно важные последствия конфиденциальности для интеграции в наш цифровой образ жизни.

Конфиденциальность

Компьютерные ученые и педагоги Беркли написали приложение Ready or Not?, чтобы продемонстрировать, как геотаггинг в Twitter и Instagram записывают каждый наш ход. См. также не слишком ли много рассказывает ваш Twitter аккаунт?

Вот instagram аккаунт конргесмена Schock's в приложении Ready или Not?:

Congressman Aaron Shock Worldwide Travels - Ready or Not

Вот Twitter-аккаунт соавтора Apple Стива Возняка в приложении. Интересно, что поездки конгрессмена еще более распространены, чем у этого технического магната.

Steve Wozniaks Travels on Twitter - Ready or Not

Геотегинг на Instagram и Twitter достаточно точен, чтобы позволить кому-то легко определить ваше место жительства, место работы и обычную поездку.

Отключение геотегинга

Если вы не хотите делиться своим местоположением с общественностью, чтобы увидеть или оставить исторический след ваших поездок, Ready или Not? приложение предлагает ссылки и руководства по отключению этих функций (найдите ссылку на его домашней странице). Честно говоря, я отключил это у себя, и я призываю вас сделать тоже самое.

Для тех, кто этого не делает, а многие не сделают - их сообщения в социальных сетях могут быть полезны для правоохранительных органов, ищущих свидетелей на месте преступления или журналистов, желающих углубиться в историю. Я расскажу вам, как это сделать.

В этом эпизоде я расскажу вам об использовании API Instagram. Я предоставил репозиторий GitHub (ссылка находится на боковой панели), чтобы скачать его и попробовать этот код. Мое «приложение для свидетелей» написано на Yii Framework для PHP, о котором вы можете узнать больше в моей серии уроков программирование с Yii2 для Tuts +.

Процесс настройки требует, чтобы вы зарегистрировали учетную запись разработчика и приложение с Instagram (и/или Twitter).

Если вы являетесь правоохранительным органом или медиа-субъектом, который хотел бы получить больше информации, пожалуйста, свяжитесь со мной напрямую. Я также был бы заинтересован в любом успешном использовании этого кода - они сделали интересную историю событий.

Использование API-интерфейса Instagram

Начнем с Instagram. Если у вас еще нет учетной записи Instagram, загрузите приложение на свой телефон и зарегистрируйтесь.

Поиск в Instagram Media

Поиск геолокации на Instagram довольно сложный и предлагает очень простой интерфейс для наших целей. Как вы можете видеть ниже, нам необходимо предоставить широту и долготу местоположения, географический радиус (расстояние) и временной диапазон (min_timestamp и max_timestamp):

Instagram Media Search

Начинаем

Посетите страницу API Instagram для разработчиков и нажмите «Зарегистрировать свое приложение»:

Instagram Hello Developers

Вам нужно будет зарегистрироваться для учетной записи разработчика:

Instagram Developer Signup

Затем вы можете зарегистрировать новое приложение для получения идентификатора клиента:

Instagram New Client Registration

На панели управления «Управление клиентами» вы увидите свой Client ID и Client Secret, поэтому обратите внимание на следующее:

Instagram Manage Clients

Установка кодовой базы Eyewitness

Вы можете клонировать себе репозиторий GitHub, расположенный на боковой панели, для запуска нашего примера.

Вам нужно будет настроить локальную конфигурацию Apache. Я использую MAMP, поэтому она выглядит примерно так:

Вам нужно локально создать базу данных. Я использую PHPMyAdmin для этого:

Create your Eyewitness database

Затем я создаю файл инициализации в /var/secure/eyew.ini с моими учетными данными базы данных и идентификаторами и ключами Instagram. Недавно я описал этот процесс в другом учебнике Tuts +: Защита ваших ключей от GitHub. К слову говоря, я случайно выложил свой ключ Instagram во время тестирования (вздох), и мне пришлось сбросить ключи после этого.

Мой файл ini выглядит так:

Обновите свой Composer и его библиотеки:

Затем инициализируйте нашу базу данных. Первая миграция устанавливает пользовательские таблицы для нашего Yii2-user через расширение разработчика Dmeroff, а вторая создает наши таблицы для приложения:

Опять же, вы можете узнать больше о настройке приложения с Yii Framework в моей серии статей Программирование на Yii2 на Tuts+.

Главная страница свидетелей

Посмотрите, что вы увидите при посещении сайта в своем браузере:

Eyewitness Home Page

Определить момент

Момент - это место и время, за которые мы ищем посты в социальных сетях. Он состоит из дружественного дескриптора, местоположения (широты и долготы), времени начала и продолжительности (в минутах). Для моего первого примера я ищу пользователей Instagram, которые присутствовали на видеосъемке Макклемора вечером среды, 24 июля 2013 года, в знаменитом Сикэтском Дик-драйве. Видеопроизводство и последующие толпы закрывали площадь в течение нескольких часов.

Используя Google Maps, я могу получить широту и долготу GPS для Дика. Это 47.6195 -122.321.

Dicks Drive In Broadway Seattle GPS in Google Maps

Из статьи я узнал, что производство закрывается в 1 час ночи. Я собираюсь выбрать время начала 10 вечера и продолжительность 3 часа.

Create a Moment

Instagram принимает время начала в GMT, поэтому я жестко запрограммировал восьмичасовую корректировку изменения времени из своего часового пояса (PST). Возможно, вам придется изменить это в коде.

Поиск момента на Instagram

Чтобы выполнить поиск в Instagram, щелкните значок камеры ниже:

The Moments Index Grid

Чтобы реализовать поиск в медиа на Instagram, я использую пакет Instagram PHP от Galen Grover. Фактический поиск довольно прост: $instagram->searchMedia( $this->latitude, $this->longitude,$params );

Результаты сохраняются в моей таблице Gram, которую мы затем можем просмотреть:

Просмотр результатов

Вот первая страница результатов моего поиска. Вы можете увидеть толпы и лимузин Кадиллака Макклемора. Очевидно, я сорвал джек-пот своим поиском.

Macklemore Search Results

Затем, на третьей странице, пользователь Instagram, названный Джошуа Льюис, снял Макклеро, выходящего из Cadillac:

More Macklemore Search Results

Вот Макклемор:

Macklemore Arrives on Instagram

В этом примере явно показана вся мощь, предоставляемая API поиска Instagram. Всего за несколько мгновений мы нашли множество свидетелей к событию с лета 2013 года. Удивительно.

Если вам интересно, вот видео YouTube о том, что Macklemore снимает:

Другой примерный момент

Во втором примере я собираюсь найти пользователей Instagram, которые находились в районе вокруг трагической аварии, где я работал несколько недель назад. Моторизованный скутер женщины, возможно, был неисправен, и она потеряла контроль, врезавшись в хвост проезжающей машины (к счастью, она выжила). Это случилось перед Starbucks «Roastery», неудачной новой туристической ловушкой здесь, в Сиэтле (я не поклонник).

Используя Карты Google, мы можем видеть, что GPS-координаты монастыря - 47.614264, -122.328008:

Starbucks Roastery in Seattle GPS in Google Maps

В статье говорится, что авария произошла около 17:00. Поэтому мы будем использовать эту информацию для создания нашего Момента:

Create a Second moment

Здесь вы можете увидеть оба момента:

List of Your Moments

В случае, если вам интересно, значок ластика очищает прошлые результаты для этого момента поиска.

Вот результаты поиска нашей аварии у Starbucks. Никто не опубликовал фотографии сцены аварии - преобладала общая вежливость. Тем не менее, все эти пользователи Instagram были в то время в этой области и, возможно, стоит обратиться к ним в качестве свидетелей.

Instagram Media Search for Starbucks Roastery Accident

Некоторые из них были туристами, как эта русская женщина. Я опубликовал перевод Google своего сообщения Instagram ниже:

Instagram Media Search for Starbucks Roastery Accident Russian Tourist

Другие посетили дегустационную комнату в отеле Starbucks или соседний бар и ресторан устриц.

Я надеюсь, что вы сможете увидеть как темную так и светлую стороны технологии гео тегинга. Есть очевидные законные применения, которые эти технологии могут обеспечить, и так же очевидно, что ими можно злоупотреблять.

Что дальше?

В следующем эпизоде мы собираемся реализовать поисковые моменты, используя API Twitter.

В то же время, пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter @reifman или отправить мне электронное письмо. Я особенно хотел бы услышать комментарии от журналистов и правоохранительных органов, которые используют эти примеры.

Вы также можете просмотреть мою страницу инструкторов Tuts +, чтобы увидеть другие учебники, которые я написал.

Ссылки по теме

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.