Instaloctrack: инструмент для сбора данных instagram, который позволяет собирать все данные о местоположении

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
525
Реакции
98
Репутация
147
Цель этого проекта — собрать все местоположения, связанные с фотографиями из профиля 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

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

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

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





Информация, доступная при нажатии на маркер:


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

{
"link": " http://instagr.am/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"
}
}
Скачать

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 

denni

Постоянный участник
ЮБИЛЕЙНАЯ ЛЕНТА

denni

Постоянный участник
ЮБИЛЕЙНАЯ ЛЕНТА
Регистрация
7 Июн 2018
Сообщения
140
Реакции
44
Репутация
0
я думал все (методы) подчищают(Навальный постарался))
 
Сверху