jsonscraper

Jak mierzyć dynamikę treści konkurencji na IGie: potok API w Pythonie

Zbieraj publiczne posty według harmonogramu, obliczaj metryki na własnych danych i wysyłaj zespołowi weryfikowalne podsumowanie.

Polityka redakcyjna Zgłoś błąd

Zespół marketingowy może widzieć posty konkurencji w aktualnościach, ale ręczne przeglądanie nie daje dobrej odpowiedzi na konkretne pytanie: które formaty i tematy regularnie zdobywają reakcje, a które były widoczne tylko raz? Rozwiązaniem jest codzienne zapisywanie danych publicznych postów i porównywanie ich w czasie, według formatu oraz dostępnych liczników.

Artykuł: Jak mierzyć dynamikę treści konkurencji na IGie: potok API w Pythonie
Podsumowanie: Praktyczny schemat monitorowania publicznych postów na IGie: zapytanie do IG Scraper API, normalizacja JSON, codzienne zapisywanie migawek i obliczanie zmian bez mieszania skumulowanych i nowych reakcji.
Rola obrazu: okładka — główna idea
Sekcja: 
Temat wizualny: Cyfrowy pulpit analityczny przedstawiający oś czasu kart publicznych treści w stylu IGa, liczniki zaangażowania i codzienne migawki danych, widoczny
© jsonscraper · ilustracja wygenerowana przez AI

Poniżej przedstawiamy podstawowy potok w Pythonie i IG Scraper API. Pobiera on posty wybranego konta, zapisuje odpowiedzi w formacie JSONL i tworzy podsumowanie nowych materiałów. Wskaźniki reakcji w takim raporcie odzwierciedlają wartości zwrócone przez API w momencie zbierania danych; migawki z różnych dni pozwalają osobno analizować ich zmiany.

Najpierw określ, co chcesz porównywać

W przypadku niewielkiej próby konkurencji wystarczy prowadzić listę publicznych kont i zbierać ich posty według jednego harmonogramu. Zacznij od pytań, na które dane mogą odpowiedzieć: jak często publikowane są treści, które posty należą do Reels lub innych formatów, jakie tematy się powtarzają oraz jak zmieniają się dostępne liczniki polubień i komentarzy.

W pamięci masowej rozdziel dwa pojęcia: post i jego migawkę. Identyfikuj post za pomocą trwałego ID, jeśli znajduje się ono w odpowiedzi; każdy kolejny przebieg zapisuj jako osobny rekord wraz z czasem pobrania. Dzięki temu zobaczysz, jak zmieniały się dostępne liczniki, zamiast zastępować wczorajszą wartość dzisiejszą.

Podłącz udokumentowaną ścieżkę

Dokumentacja jsonscraper podaje adres https://ig.jsonscraper.com i ścieżkę GET /v1/user/by/username dla podstawowego zapytania. Do pobierania postów mapa API wymienia również GET /v1/user/medias/chunk. Dokładny zestaw parametrów i pól odpowiedzi sprawdź w powiązanej z produktem kolekcji Postman: nie uzależniaj przetwarzania od domniemanej struktury, dopóki nie sprawdzisz rzeczywistej odpowiedzi dla swojego zapytania.

Do wstępnego sprawdzenia użyj udokumentowanego przykładu zapytania o profil; klucz przekaż przez zmienną środowiskową, zamiast wpisywać go w kodzie źródłowym:

curl -G "https://ig.jsonscraper.com/v1/user/by/username" \
  --data-urlencode "username=apple" \
  --data-urlencode "license_key=$JSONSCRAPER_LICENSE_KEY" \
  --data-urlencode "cache_timeout=60"

Przykład na stronie produktu pokazuje parametry username, license_key i cache_timeout dla ścieżki profilu. Stosuj ten parametr w innych ścieżkach tylko wtedy, gdy jest dla nich wymieniony w dokumentacji. W przypadku zapytania o posty pobierz aktualne nazwy parametrów ze specyfikacji tej ścieżki.

Zapisuj odpowiedzi jako migawki czasowe

Poniższy skrypt to szablon do uruchomienia w środowisku produkcyjnym: URL i parametry ścieżki postów pozostawiono w konfiguracji, aby można je było uzupełnić ściśle według dokumentacji Postman. Obsługa zapisuje źródłowy JSON i czas pobrania; normalizację pól dodaj po sprawdzeniu rzeczywistej odpowiedzi.

import json
import os
from datetime import datetime, timezone
from pathlib import Path

import requests

BASE_URL = "https://ig.jsonscraper.com"
USERNAME = os.environ["IG_USERNAME"]
LICENSE_KEY = os.environ["JSONSCRAPER_LICENSE_KEY"]
OUTPUT = Path("instagram_snapshots.jsonl")

# Uzupełnij endpoint i parametry na podstawie dokumentacji ścieżki
# GET /v1/user/medias/chunk w kolekcji Postman.
MEDIA_PATH = os.environ["IG_MEDIA_PATH"]
MEDIA_PARAMS = json.loads(os.environ["IG_MEDIA_PARAMS_JSON"])

params = {
    **MEDIA_PARAMS,
    "username": USERNAME,
    "license_key": LICENSE_KEY,
}

response = requests.get(
    f"{BASE_URL}{MEDIA_PATH}", params=params, timeout=30
)
response.raise_for_status()
payload = response.json()

record = {
    "collected_at": datetime.now(timezone.utc).isoformat(),
    "username": USERNAME,
    "response": payload,
}
with OUTPUT.open("a", encoding="utf-8") as file:
    file.write(json.dumps(record, ensure_ascii=False) + "\n")

Celowo nie ma tu zmyślonych parametrów paginacji ani nazw pól: należy je skopiować z konkretnej specyfikacji i zweryfikować na odpowiedzi API. Zapytania z limitem czasu i raise_for_status() pomagają wykryć błąd sieci przed zapisaniem wyniku jako zwykłych danych. Do automatycznego uruchamiania dodaj walidację JSON i dziennik błędów.

Dodaj harmonogram i metryki

Uruchamiaj zbieranie danych raz dziennie za pomocą crona lub harmonogramu używanego narzędzia automatyzacji. W przypadku kilku kont przejdź po liście konfiguracyjnej, zapisz osobną migawkę dla każdego i przewidź ponowienie po tymczasowym błędzie. Klucz przechowuj w zmiennej środowiskowej lub magazynie sekretów; strona API osobno zaleca, by nie osadzać go w kodzie klienta.

Po sprawdzeniu odpowiedzi normalizuj rekordy do tabeli z polami takimi jak username, media_id, collected_at, typ treści i dostępne liczniki. Nie usuwaj źródłowego JSON: przyda się, jeśli zmieni się format odpowiedzi lub trzeba będzie zweryfikować obliczenia.

W warstwie analitycznej obliczaj liczbę nowych postów w danym okresie, medianę dostępnych reakcji według formatu oraz zmianę licznika tego samego postu między migawkami. Mediana ogranicza wpływ pojedynczego viralowego posta na podsumowanie. Porównuj konta w identycznych przedziałach czasu i pokazuj wielkość próby obok wartości zagregowanej.

Co otrzymasz na wyjściu

Zespół otrzyma odtwarzalną tabelę postów i codzienne podsumowanie: częstotliwość publikowania treści, podział według formatów oraz dynamikę dostępnych reakcji. Te informacje pomagają formułować hipotezy dla własnego planu redakcyjnego, zamiast po prostu gromadzić zrzuty ekranu z aktualności.

Kolejnym krokiem jest wysyłanie znormalizowanych rekordów do Google Sheets, bazy danych lub systemu wizualizacji, a następnie tworzenie tekstowego podsumowania w osobnym etapie. Jeśli korzystasz z AI, przekazuj mu zagregowane dane i proś o opis zaobserwowanych zależności wraz ze wskazaniem okresu i liczby postów; decyzję o strategii pozostaw redaktorowi.

Zacznij od jednego konta i jednej ścieżki: sprawdź parametry i strukturę odpowiedzi w opisie IG Scraper API, a następnie utrwal tę konfigurację w harmonogramie. Dzięki temu monitorowanie konkurencji zmieni się z jednorazowego ręcznego przeglądania w przejrzysty potok z zachowywaną historią.

People

No people listed for this article yet.

Keep readingJak scrapować IG za pomocą Pythona
Read the next article

Zmień lekturę w działającą integrację

Poznaj API danych społecznościowych jsonscraper, testuj zapytania i buduj kolejne procesy.

Poznaj API