Рубрики
Без рубрики

Открытый исходный код: Instagram Analyzer

Найдите места, страны и города, которые вы посетили до сих пор и сколько раз. Tagged с Showdew, OpenSource, Python, WebDev.

Instagram-Analyzer это приложение, написанное на Python, которое анализирует геотаги с использованием обратного геокодирования на фотографиях и видео пользователя в Instagram.

Он предоставляет данные конкретных мест, стран и городов, которые вы посещали до сих пор, а также сколько раз и какие сообщения в Instagram соответствуют местоположению.

Я хочу услышать отзывы, хорошие или плохие, поэтому, пожалуйста, проверьте это! Спасибо

Что оно делает

📍 Установите все данные в области медиа в Instagram 📷

Приложение загружает все пользовательские Instagram Media и сохраняет его в формате JSON. Эти данные включают все метаданные медиа, включая лайки, местоположение, пользователи с тегами, комментарии, изображение URL-S …

📍 Установите все данные местоположения в Instagram 📊

Анализирует геотаги и спасает местоположения в формате JSON. Эти данные включают возникновение для каждого местоположения, а также изображение и Instagram Media URL-S …

📍 Установите все данные о странах Instagram и городах

Страны и города дополнительно анализируются с использованием обратного геокодирования с LocationIQ API Анкет Данные сохраняются в файлах JSON.

📍prints случаи для местоположения, страны и города ✈

You have visited 99 different locations
You have visited 7  different countries
You have visited 32 different cities

Печатная таблица вида наиболее посещаемого местоположения, стран и городов 🌍

Например, при выполнении для Nejckorasa Печать для стран выглядит так:

Countries: 

+------+-----------------+-------------+
| rank | country         | occurrences |
+------+-----------------+-------------+
|  1   | Slovenia        |     51      |
+------+-----------------+-------------+
|  2   | The Netherlands |     12      |
+------+-----------------+-------------+
|  3   | Spain           |      8      |
+------+-----------------+-------------+
|  4   | Poland          |      8      |
+------+-----------------+-------------+
|  5   | Russia          |      7      |
+------+-----------------+-------------+
|  6   | Croatia         |      7      |
+------+-----------------+-------------+
|  7   | Hungary         |      6      |
+------+-----------------+-------------+

Подобные таблицы напечатаны для определенных мест и городов.

Установить

Чтобы установить Instagram-Analyzer:

$ pip install instagram-analyzer

Чтобы обновить Instagram-Analyzer:

$ pip install instagram-analyzer --upgrade

использование

После установки импортируйте, настройте и запустите:

from instagram_analyzer import InstaAnalyzer

InstaAnalyzer(
    insta_token='',
    location_iq_token='').run()

Прежде чем запустить его, см. Конфигурация и параметры

Конфигурация и параметры

Приобретать токены

Приобретать токен доступа в Instagram

Перейти к Pixelunion , генерируйте токен, не забудьте токен!

Приобретать токен доступа к месту IQ

Перейти к Расположение IQ Зарегистрируйтесь, получите токен, не забудьте токен!

Настроить и запустить

Создать Instaanalyzer экземпляр с значениями токена.

analyzer = InstaAnalyzer(
    insta_token='',
    location_iq_token='')
analyzer.read_media_from_file = False
analyzer.run()

После того, как данные в Instagram хранятся в JSON, вы можете прочитать их оттуда, вместо того, чтобы загружать их снова через API Instagram (API ограничен 200 запросами в час). Установить Analyzer.read_media_from_file

Опции

  • location_iq_token необязательно. Если не будет установлен только базовый анализ местоположения будет запущен и сохранен в файле.
  • Однажды Instaanalyzer запустили все данные доступны для доступа:
# Configure InstaAnalyzer
analyzer = InstaAnalyzer(
    insta_token='',
    location_iq_token='')

# Run InstaAnalyzer    
analyzer.run()

# Access cities, countries and location data
cities = analyzer.cities
countires = analyzer.countires
locations = analyzer.locations

# Access instagram media data
instagram_media = analyzer.insta_media_data

# Print locations later
analyzer.print_locations()

Хранилированные примеры данных

Когда казнен для Nejckorasa Данные для одной страны страны (Испания) выглядят так:

"Spain": {
    "count": 8,
    "media_items": [
      [
        {
          "id": "",
          "image": "https://scontent.cdninstagram.com/vp/e7705068da5e289f5e44c0c396c08f74/5BD54C95/t51.2885-15/sh0.08/e35/p640x640/36149213_609452269436842_8766778259800064000_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
          "link": "https://www.instagram.com/p/Bkh3-KfgxL9/"
        }
      ],
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/2b239894a363f6bbe93d604ab2cdfa8a/5BE953CD/t51.2885-15/sh0.08/e35/p640x640/33941046_171665143683479_8766885676932136960_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/Bj7Uj56gxBs/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/9d7003f674af9ca05accf9961df893a6/5BE28FDA/t51.2885-15/sh0.08/e35/p640x640/33120615_197967877520708_8731075699906969600_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/Bjmp-6bAYus/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/1e7ca79fc44823ff3ef8b24e6dd55e61/5BD1E8C3/t51.2885-15/sh0.08/e35/p640x640/33608474_597094857325212_724188974242856960_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/BjR_9lpAqpc/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/1b046c05b1cbe9708f57f5e591b68d1c/5BD8E039/t51.2885-15/sh0.08/e35/p640x640/32947036_172314443452529_4611639929133334528_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/BjNEIwiA6Py/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/5ac0e05fb60700cba4c41d6d1216eb5b/5BC8A9DB/t51.2885-15/e15/10802615_318814311644936_1896556761_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/vdWuHBkwuY/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/40620d8f5e7e01a546e2b958d18bd42a/5BE9E99F/t51.2885-15/e15/10784835_319487204924131_388050040_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/vYybQyEwiA/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/b733c0bdf312ee5c21bb3fd6148e6221/5BE263EA/t51.2885-15/e15/10802986_691193854310946_2042620114_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/vc9ZFakwrq/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/875bff08c310444273eae90a67e525dd/5BC8F29F/t51.2885-15/e15/928044_671144066338855_1666493611_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/vaWbQLEwqX/"
      }
    ]
  }

Конечно, будет настоящим идентификатором поста.

Данные для городов почти одинаковы. Для конкретного места одно место местоположения выглядит следующим образом:

"236678869": {
    "latitude": 45.7925,
    "longitude": 15.1647,
    "name": "Novo Mesto",
    "id": 236678869,
    "count": 4,
    "media_items": [
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/6941d16b164ec488dd3a303004344f78/5BE40DE8/t51.2885-15/sh0.08/e35/p640x640/31270267_1592482480868234_8257495365851283456_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/Bij24yzAdHB/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/3189c0f2e5931f47b4506046ff26afff/5BDB6109/t51.2885-15/e15/10724200_1496985983889525_746072573_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/uDDPHekwtW/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/fbf31b5c410c9036ce43862012249d02/5BEC3F36/t51.2885-15/e15/10488704_250740985124191_1862853011_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/q94LWMkwlk/"
      },
      {
        "id": "",
        "image": "https://scontent.cdninstagram.com/vp/27c6681709c7b71fc86d8477c11d2b88/5BCAD041/t51.2885-15/e15/10013254_641464529259998_1091484863_n.jpg?efg=eyJ1cmxnZW4iOiJ1cmxnZW5fZnJvbV9pZyJ9",
        "link": "https://www.instagram.com/p/mKDvsikwsC/"
      }
    ],
    "city": "Novo mesto",
    "additional_data": {
      "place_id": "113385772",
      "licence": "\u00a9 LocationIQ.org CC BY 4.0, Data \u00a9 OpenStreetMap contributors, ODbL 1.0",
      "osm_type": "way",
      "osm_id": "167321715",
      "lat": "45.7897769",
      "lon": "15.1680662",
      "display_name": "Krka, Novo mesto, Jugovzhodna Slovenija, 8000, Slovenia",
      "address": {
        "suburb": "Krka",
        "town": "Novo mesto",
        "state_district": "Jugovzhodna Slovenija",
        "postcode": "8000",
        "country": "Slovenia",
        "country_code": "si"
      },
      "boundingbox": [
        "45.7858017",
        "45.7927137",
        "15.1640388",
        "15.1725268"
      ]
    }
  }

Примечание дополнительная_дата Поле, эти данные заполняются с использованием Расположение IQ API

Часто задаваемые вопросы

Почему нужно так много времени, чтобы загрузить дополнительные данные о местоположении?

Для обратного геокодирования используется API местоположения IQ. Бесплатная версия этой скорости API SI ограничена 1 запросом в секунду. Вот почему дополнительная загрузка данных принимает секунды.

Проверьте, оставьте отзыв 🙏

Вот ссылка на GitHub: Instagram-Analyzer

Оригинал: “https://dev.to/nejckorasa/open-source-instagram-analyzer-1obd”