jsonscraper

Come misurare l’andamento dei contenuti dei concorrenti su IG: pipeline API in Python

Raccogli post pubblici a intervalli regolari, calcola metriche sui dati raccolti e invia al team un riepilogo verificabile.

Politica editoriale Segnala un errore

Un team marketing può vedere i post dei concorrenti nel feed, ma la consultazione manuale risponde con difficoltà a una domanda precisa: quali formati e temi raccolgono reazioni con regolarità e quali sono emersi una sola volta? La soluzione consiste nel salvare ogni giorno i dati dei post pubblici e confrontarli nel tempo, per formato e in base ai contatori disponibili.

Articolo: Come misurare l’andamento dei contenuti dei concorrenti su IG: pipeline API in Python
Riepilogo: una procedura pratica per monitorare i post pubblici su IG: chiamata all’IG Scraper API, normalizzazione JSON, salvataggio giornaliero degli snapshot e calcolo dell’andamento senza confondere le reazioni totali con quelle nuove.
Ruolo dell’immagine: copertina — idea centrale
Sezione: 
Soggetto visivo: una dashboard di analisi digitale che visualizza una cronologia di schede di contenuti pubblici in stile IG, contatori di interazioni e snapshot giornalieri dei dati, cle
© jsonscraper · illustrazione generata dall’IA

Di seguito trovi una pipeline di base in Python con IG Scraper API. Recupera i post di un account selezionato, salva le risposte in JSONL e crea un riepilogo dei nuovi contenuti. Le metriche di interazione del rapporto riflettono i valori restituiti dall’API al momento della raccolta; gli snapshot di date diverse consentono di analizzarne separatamente le variazioni.

Per prima cosa, definisci cosa confrontare

Per un piccolo campione di concorrenti è sufficiente tenere un elenco di account pubblici e raccoglierne i post secondo una pianificazione unica. Parti da domande a cui i dati possono rispondere: con quale frequenza vengono pubblicati contenuti, quali post sono Reels o appartengono ad altri formati, quali temi ricorrono e come cambiano i contatori disponibili di Mi piace e commenti.

Nel sistema di archiviazione distingui due concetti: il post e il relativo snapshot. Identifica il post con un ID stabile, se presente nella risposta; a ogni nuova esecuzione salva un record separato con l’ora di raccolta. In questo modo puoi vedere come sono cambiati i contatori disponibili, invece di sovrascrivere il valore di ieri con quello di oggi.

Usa l’endpoint documentato

Nella documentazione di jsonscraper, per una richiesta di base sono indicati l’indirizzo https://ig.jsonscraper.com e l’endpoint GET /v1/user/by/username. Per recuperare i post, la mappa API elenca anche GET /v1/user/medias/chunk. Verifica gli esatti parametri e campi della risposta nella collezione Postman collegata al prodotto: non basare il codice su una struttura presunta prima di aver esaminato la risposta effettiva della tua richiesta.

Per una verifica iniziale, usa l’esempio documentato di richiesta del profilo; passa la chiave tramite una variabile d’ambiente, senza inserirla nel codice sorgente:

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"

L’esempio nella pagina del prodotto mostra username, license_key e cache_timeout per l’endpoint del profilo. Usa il parametro anche con altri endpoint solo se la relativa documentazione lo prevede. Per richiedere i post, ricava dalla specifica dell’endpoint i nomi aggiornati dei parametri.

Salva le risposte come snapshot temporali

Lo script seguente è una base da adattare per l’esecuzione: l’URL e i parametri dell’endpoint dei post sono lasciati nella configurazione, così da poterli compilare attenendosi alla documentazione Postman. Il gestore salva il JSON originale e l’ora di raccolta; aggiungi la normalizzazione dei campi dopo aver verificato la risposta effettiva.

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

# Compila endpoint e parametri in base alla documentazione dell’endpoint
# GET /v1/user/medias/chunk nella collezione 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")

Non sono stati inseriti parametri di paginazione o nomi di campi inventati: copiali dalla specifica pertinente e verificali sulla risposta dell’API. Le richieste con timeout e raise_for_status() aiutano a rilevare gli errori di rete prima di salvare il risultato come dato ordinario. Per l’esecuzione automatica, aggiungi la convalida del JSON e un registro degli errori.

Aggiungi una pianificazione e le metriche

Esegui la raccolta una volta al giorno tramite cron o lo strumento di pianificazione della tua automazione. Per più account, scorri un elenco di configurazione, salva uno snapshot per ciascuno e prevedi di ripetere l’esecuzione dopo un errore temporaneo. Conserva la chiave in una variabile d’ambiente o in un archivio di segreti; la pagina API raccomanda inoltre di non incorporarla nel codice client.

Dopo aver verificato la risposta, normalizza i record in una tabella con campi come username, media_id, collected_at, tipo di contenuto e contatori disponibili. Non eliminare il JSON originale: sarà utile se il formato della risposta cambia o se occorre verificare un calcolo.

Nel livello analitico, calcola il numero di nuovi post per periodo, la mediana delle interazioni disponibili per formato e la variazione del contatore dello stesso post tra uno snapshot e l’altro. La mediana riduce l’influenza di un singolo post virale sul riepilogo. Confronta gli account su finestre temporali uguali e mostra la dimensione del campione insieme all’aggregato.

Il risultato

Il team avrà una tabella riproducibile dei post e un riepilogo giornaliero: frequenza di pubblicazione, distribuzione per formato e andamento delle interazioni disponibili. Queste informazioni aiutano a formulare ipotesi per il proprio piano editoriale, anziché limitarsi a raccogliere screenshot dal feed.

Il passo successivo consiste nell’inviare i record normalizzati a Google Sheets, a un database o a un sistema di visualizzazione, e generare il riepilogo testuale in una fase separata. Se integri l’IA, passale dati aggregati e chiedile di descrivere gli schemi osservabili indicando periodo e numero di post; la decisione strategica resta al redattore.

Inizia con un account e un endpoint: verifica parametri e struttura della risposta nella descrizione di IG Scraper API, quindi fissa questa configurazione nella pianificazione. Così il monitoraggio dei concorrenti passa da una consultazione manuale occasionale a una pipeline chiara con uno storico conservato.

People

No people listed for this article yet.

Keep readingCome fare scraping di IG con Python
Read the next article

Trasforma ciò che leggi in un'integrazione funzionante

Esplora le API per dati social di jsonscraper, prova le richieste e crea il tuo prossimo flusso di lavoro.

Esplora API