jsonscraper

Så mäter du konkurrenters innehåll på IG: en API-pipeline i Python

Samla in offentliga inlägg enligt ett schema, beräkna mätvärden från dina egna data och skicka teamet en verifierbar sammanfattning.

Redaktionella riktlinjer Rapportera ett fel

Marknadsteamet kan se konkurrenternas inlägg i flödet, men manuell granskning besvarar inte så lätt den konkreta frågan: vilka format och ämnen får regelbundet reaktioner, och vilka blev synliga bara en gång? Lösningen är att dagligen spara data om offentliga inlägg och jämföra dem över tid, efter format och med tillgängliga räknare.

Artikel: Så mäter du konkurrenters innehåll på IG: en API-pipeline i Python
Sammanfattning: En praktisk metod för att övervaka offentliga IG-inlägg: anropa IG Scraper API, normalisera JSON, spara dagliga ögonblicksbilder och beräkna utvecklingen utan att blanda ihop ackumulerade och nya reaktioner.
Bildens roll: omslag – huvudidén
Avsnitt: 
Visuellt motiv: En digital analysöversikt som visar en tidslinje med kort för offentligt innehåll i IG-stil, interaktionsräknare och dagliga dataögonblicksbilder, tyd
© jsonscraper · AI-genererad illustration

Nedan följer en grundläggande pipeline i Python med IG Scraper API. Den hämtar inlägg från ett valt konto, sparar svaren i JSONL och skapar en sammanfattning av nytt material. Interaktionsmåtten i en sådan rapport återger värdena som API:et returnerade vid insamlingstillfället; ögonblicksbilder från olika datum gör det möjligt att analysera förändringar separat.

Bestäm först vad du vill jämföra

För ett mindre urval av konkurrenter räcker det att föra en lista över offentliga konton och samla in deras inlägg enligt ett gemensamt schema. Börja med frågor som data kan besvara: hur ofta innehåll publiceras, vilka inlägg är Reels eller andra format, vilka ämnen återkommer och hur tillgängliga räknare för gilla-markeringar och kommentarer förändras.

Skilj mellan två begrepp i lagringen: ett inlägg och dess ögonblicksbild. Identifiera inlägget med ett beständigt ID om det finns i svaret och spara varje ny körning som en separat post med insamlingstid. Då kan du se hur tillgängliga räknare har förändrats, i stället för att skriva över gårdagens värde med dagens.

Använd den dokumenterade ändpunkten

I jsonscrapers dokumentation anges https://ig.jsonscraper.com som adress för en grundläggande begäran och GET /v1/user/by/username som ändpunkt. För att hämta inlägg listar API-kartan även GET /v1/user/medias/chunk. Kontrollera de exakta parametrarna och svarsfälten i den produktspecifika Postman-samlingen: bind inte hanteringen till en antagen struktur innan du har granskat det faktiska svaret för din begäran.

Använd det dokumenterade exemplet på en profilbegäran för den första kontrollen. Skicka nyckeln via en miljövariabel i stället för att skriva in den i källkoden:

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"

Exemplet på produktsidan visar username, license_key och cache_timeout för profiländpunkten. Använd parametern för andra ändpunkter endast om den anges för dem i dokumentationen. Hämta de aktuella parameternamnen för inläggsbegäran från specifikationen för den ändpunkten.

Spara svaren som tidsstämplade ögonblicksbilder

Följande skript är en grund för en produktionskörning: URL och parametrar för inläggsändpunkten ligger i konfigurationen, så att de kan fyllas i exakt enligt Postman-dokumentationen. Hanteraren sparar den ursprungliga JSON-datan och insamlingstiden; lägg till normalisering av fält efter att du har granskat det faktiska svaret.

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")

# Fyll i ändpunkt och parametrar enligt dokumentationen för
# GET /v1/user/medias/chunk i Postman-samlingen.
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")

Här finns medvetet inga påhittade pagineringsparametrar eller fältnamn: kopiera dem från den specifika specifikationen och kontrollera dem mot API-svaret. Begäranden med timeout och raise_for_status() hjälper dig att upptäcka nätverksfel innan resultatet sparas som vanliga data. Lägg till JSON-validering och en fellogg för automatiska körningar.

Lägg till ett schema och mätvärden

Kör insamlingen en gång om dagen via cron eller din automations schemaläggare. För flera konton går du igenom en konfigurationslista, sparar en separat ögonblicksbild för varje konto och planerar för omkörning efter tillfälliga fel. Förvara nyckeln i en miljövariabel eller en hemlighetstjänst; API-sidan rekommenderar också att den inte bäddas in i klientkod.

Normalisera posterna till en tabell med fält som username, media_id, collected_at, innehållstyp och tillgängliga räknare när du har granskat svaret. Ta inte bort den ursprungliga JSON-datan: den är användbar om svarsformatet ändras eller om en beräkning behöver kontrolleras.

Beräkna antalet nya inlägg under en period, medianen för tillgängliga reaktioner per format och förändringen i räknaren för samma inlägg mellan ögonblicksbilder i analyslagret. Medianen minskar effekten av ett enstaka viralt inlägg på sammanfattningen. Jämför konton över lika långa tidsperioder och visa urvalets storlek bredvid det sammanställda måttet.

Det här får du ut

Teamet får en reproducerbar inläggstabell och en daglig sammanfattning av publiceringsfrekvens, formatfördelning och utvecklingen för tillgängliga reaktioner. Uppgifterna hjälper er att formulera hypoteser för den egna redaktionella planeringen, i stället för att bara samla skärmbilder från flödet.

Nästa steg är att skicka normaliserade poster till Google Sheets, en databas eller ett visualiseringssystem och skapa den textbaserade sammanfattningen i ett separat steg. Om du kopplar in AI, skicka aggregerade data och be den beskriva observerade mönster med angivelse av tidsperiod och antal inlägg; låt redaktören fatta strategiska beslut.

Börja med ett konto och en ändpunkt: kontrollera parametrarna och svarsstrukturen i beskrivningen av IG Scraper API och lås sedan konfigurationen i schemat. På så sätt blir konkurrentbevakningen en tydlig pipeline med sparad historik, i stället för enstaka manuella genomgångar.

People

No people listed for this article yet.

Keep readingSå scrapar du IG med Python
Read the next article

Gör det du läser till en fungerande integration

Utforska jsonscrapers API:er för social data, testa anrop och bygg nästa arbetsflöde.

Utforska API:er