jsonscraper

So messen Sie die Content-Dynamik von IG-Konkurrenten: eine API-Pipeline mit Python

Erfassen Sie öffentliche Beiträge nach Zeitplan, berechnen Sie Kennzahlen auf Basis eigener Daten und senden Sie Ihrem Team eine nachvollziehbare Zusammenfassung.

Redaktionsrichtlinie Fehler melden

Ein Marketingteam kann die Beiträge von Wettbewerbern im Feed sehen, doch eine manuelle Prüfung beantwortet nur schwer die konkrete Frage: Welche Formate und Themen erzielen regelmäßig Reaktionen, und welche sind nur einmal aufgefallen? Die Lösung besteht darin, Daten öffentlicher Beiträge täglich zu speichern und sie nach Zeit, Format und verfügbaren Zählern zu vergleichen.

Artikel: So messen Sie die Content-Dynamik von IG-Konkurrenten: eine API-Pipeline mit Python
Zusammenfassung: Ein praktischer Ansatz zur Überwachung öffentlicher IG-Beiträge: Anfrage an die IG Scraper API, Normalisierung von JSON, tägliche Speicherung von Momentaufnahmen und Berechnung der Entwicklung, ohne kumulierte und neu hinzugekommene Reaktionen zu vermischen.
Bildfunktion: Titelbild — die zentrale Idee
Abschnitt: 
Visuelles Motiv: Ein digitales Analyse-Dashboard veranschaulicht eine Zeitleiste mit öffentlichen Beitragskarten im IG-Stil, Interaktionszählern und täglichen Datensnapshots; deutlich
© jsonscraper · KI-generierte Illustration

Im Folgenden finden Sie eine grundlegende Pipeline mit Python und der IG Scraper API. Sie ruft Beiträge eines ausgewählten Kontos ab, speichert die Antworten im JSONL-Format und erstellt eine Zusammenfassung neuer Inhalte. Die Interaktionswerte in diesem Bericht entsprechen den zum Zeitpunkt der Erfassung von der API zurückgegebenen Werten; Momentaufnahmen verschiedener Tage ermöglichen eine getrennte Analyse ihrer Veränderungen.

Legen Sie zuerst fest, was Sie vergleichen möchten

Für eine kleine Wettbewerberauswahl genügt es, eine Liste öffentlicher Konten zu führen und deren Beiträge nach einem gemeinsamen Zeitplan zu erfassen. Beginnen Sie mit Fragen, die sich anhand der Daten beantworten lassen: Wie oft erscheinen neue Inhalte? Welche Beiträge sind Reels oder andere Formate? Welche Themen wiederholen sich, und wie verändern sich die verfügbaren Zähler für Likes und Kommentare?

Unterscheiden Sie in Ihrem Datenspeicher zwischen zwei Konzepten: einem Beitrag und seiner Momentaufnahme. Identifizieren Sie einen Beitrag anhand einer stabilen ID, sofern diese in der Antwort enthalten ist; speichern Sie jeden neuen Durchlauf als separaten Datensatz mit Erfassungszeitpunkt. So lässt sich nachvollziehen, wie sich verfügbare Zähler verändert haben, statt den gestrigen Wert mit dem heutigen zu überschreiben.

Verwenden Sie den dokumentierten Endpunkt

In der Dokumentation von jsonscraper werden für eine grundlegende Anfrage die Adresse https://ig.jsonscraper.com und der Endpunkt GET /v1/user/by/username angegeben. Zum Abrufen von Beiträgen führt die API-Übersicht außerdem GET /v1/user/medias/chunk auf. Prüfen Sie die genauen Parameter und Antwortfelder in der zugehörigen Postman-Sammlung: Richten Sie Ihren Handler nicht nach einer vermuteten Struktur aus, bevor Sie die tatsächliche Antwort auf Ihre Anfrage geprüft haben.

Verwenden Sie für die erste Prüfung das dokumentierte Beispiel für eine Profilanfrage. Übergeben Sie den Schlüssel über eine Umgebungsvariable, statt ihn in den Quellcode zu schreiben:

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"

Das Beispiel auf der Produktseite zeigt username, license_key und cache_timeout für den Profil-Endpunkt. Verwenden Sie den Parameter für andere Endpunkte nur, wenn er dafür in der Dokumentation aufgeführt ist. Für die Beitragsabfrage übernehmen Sie die aktuellen Parameternamen aus der Spezifikation dieses Endpunkts.

Speichern Sie Antworten als zeitbezogene Momentaufnahmen

Das folgende Skript ist eine Vorlage für den produktiven Einsatz: Die URL und Parameter des Beitrags-Endpunkts sind in der Konfiguration belassen, damit sie strikt nach der Postman-Dokumentation ergänzt werden können. Der Handler speichert das ursprüngliche JSON und den Erfassungszeitpunkt; normalisieren Sie die Felder erst, nachdem Sie die tatsächliche Antwort geprüft haben.

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

# Endpunkt und Parameter anhand der Dokumentation des Endpunkts
# GET /v1/user/medias/chunk in der Postman-Sammlung ergänzen.
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")

Absichtlich sind hier keine erfundenen Paginierungsparameter oder Feldnamen enthalten: Übernehmen Sie diese aus der konkreten Spezifikation und prüfen Sie sie anhand einer API-Antwort. Anfragen mit Timeout und raise_for_status() helfen dabei, einen Netzwerkfehler zu erkennen, bevor das Ergebnis als gewöhnliche Daten gespeichert wird. Ergänzen Sie für die automatisierte Ausführung eine JSON-Prüfung und ein Fehlerprotokoll.

Ergänzen Sie Zeitplan und Kennzahlen

Führen Sie die Erfassung einmal täglich über cron oder den Planer Ihrer Automatisierung aus. Gehen Sie bei mehreren Konten eine Konfigurationsliste durch, speichern Sie für jedes Konto eine eigene Momentaufnahme und ermöglichen Sie nach vorübergehenden Fehlern einen erneuten Versuch. Bewahren Sie den Schlüssel in einer Umgebungsvariable oder einem Secrets-Manager auf; die API-Seite empfiehlt ausdrücklich, ihn nicht in den Client-Code einzubetten.

Normalisieren Sie die Datensätze nach Prüfung der Antwort in einer Tabelle mit Feldern wie username, media_id, collected_at, Inhaltstyp und verfügbaren Zählern. Löschen Sie das ursprüngliche JSON nicht: Es ist hilfreich, wenn sich das Antwortformat ändert oder eine Berechnung überprüft werden muss.

Berechnen Sie in der Analyseebene die Zahl neuer Beiträge pro Zeitraum, den Median der verfügbaren Reaktionen je Format und die Veränderung eines Zählers desselben Beitrags zwischen Momentaufnahmen. Der Median verringert den Einfluss eines einzelnen viralen Beitrags auf die Zusammenfassung. Vergleichen Sie Konten über identische Zeiträume und geben Sie neben dem Aggregat auch die Stichprobengröße an.

Das erhalten Sie als Ergebnis

Das Team erhält eine reproduzierbare Beitragstabelle und eine tägliche Zusammenfassung: Veröffentlichungshäufigkeit, Verteilung nach Formaten und Entwicklung der verfügbaren Reaktionen. Diese Informationen helfen dabei, Hypothesen für den eigenen Redaktionsplan aufzustellen, statt lediglich Screenshots aus dem Feed zu sammeln.

Im nächsten Schritt können Sie normalisierte Datensätze an Google Sheets, eine Datenbank oder ein Visualisierungssystem übertragen und die Textzusammenfassung in einem separaten Schritt erstellen. Wenn Sie KI einsetzen, übermitteln Sie aggregierte Daten und bitten Sie darum, beobachtete Muster unter Angabe des Zeitraums und der Zahl der Beiträge zu beschreiben; die Strategieentscheidung bleibt der Redaktion überlassen.

Beginnen Sie mit einem Konto und einem Endpunkt: Prüfen Sie die Parameter und die Antwortstruktur in der Beschreibung der IG Scraper API und übernehmen Sie diese Konfiguration anschließend in den Zeitplan. So wird aus der einmaligen manuellen Wettbewerbsbeobachtung eine nachvollziehbare Pipeline mit dauerhaft gespeicherter Historie.

People

No people listed for this article yet.

Keep readingSo scrapest du IG mit Python
Read the next article

Vom Artikel zur funktionierenden Integration

Entdecke die Social-Data-APIs von jsonscraper, teste Anfragen und entwickle deinen nächsten Workflow.

APIs entdecken