👀 InstaLocTrack: инструмент для сбора данных Instagram, который позволяет собирать все данные о местоположении – Information Security Squad
👀 InstaLocTrack: инструмент для сбора данных Instagram, который позволяет собирать все данные о местоположении

Insta LocTrack

Цель проекта

Цель этого проекта – собрать все местоположения, связанные с фотографиями из профиля Instagram, чтобы разместить их на карте.

Инструмент использует API Instagram, так как Instagram отказался от его функциональности определения местоположения в 2018 году, а также потому, что разработчик хотел поиграть с Selenium и Chromedriver.\

Как это работает

Во-первых, мы извлекаем все ссылки на фотографии из учетной записи, прокручивая весь профиль Instagram, благодаря веб-драйверу selenium.

Затем мы извлекаем асинхронно (asyncio) каждую ссылку на изображение, проверяем, содержит ли она местоположение в описании изображения, и извлекаем данные о местоположении, если она есть, и метку времени.

С 2018 года Instagram прекратил использовать API определения местоположения, и больше невозможно получить GPS-координаты изображения, все, что мы можем получить, – это название местоположения.

Поскольку Instagram не предоставляет GPS-координаты, а нам даны только названия мест, мы должны геокодировать их (т.е. получить GPS-координаты от места названия).

Для этого разработчик использовал потрясающий API Nominatim, который использует OpenStreetMap.

Для нашего использования не требуется ключ API, и мы соблюдаем Политику использования Nominatim, запрашивая GPS-координаты раз в секунду.

В конце концов, когда у нас есть все GPS-координаты, мы генерируем HTML (благодаря шаблону jinja2) со встроенным Javascript, который отображает Open Street Map (благодаря библиотеке Leaflet) со всеми нашими местоположениями.

Еще раз, для этого шага не требуется ключ API.

Кроме того, данные, собранные скриптом (имена местоположений, временные метки, координаты GPS, ошибки), выгружаются в файл JSON для повторного использования.

Установка

Зависимости

sudo apt install chromium-chromedriver && sudo pip install -r requirements

Скачать

git clone https://github.com/bernsteining/InstaLocTrack.git

Как использовать

Пример

В качестве примера, вот вывод из профиля бывшего президента Франции в Instagram, @fhollande:
Информация, доступная при нажатии на маркер:

Дамп данных JSON (только часть, чтобы показать формат для данного местоположения):

{
    "link": "https://www.instagram.com/p/-Q_9EvR9eu",
    "place": {
      "id": "290297",
      "name": "Musée du quai Branly - Jacques Chirac",
      "slug": "musee-du-quai-branly-jacques-chirac",
      "street_address": " 37 quai Branly",
      " zip_code": " 75007",
      " city_name": " Paris",
      " region_name": " ",
      " country_code": " FR"
    },
    "timestamp": "2015-11-19",
    "gps": {
      "lat": "48.8566969",
      "lon": "2.3514616"
    }
  }

Скачать

https://github.com/bernsteining/

¯\_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *