jsonscraper
Mercati
Torna al diario

Confronta il profilo IG con il brief della campagna usando campi verificabili

Come trasformare un elenco di account in un controllo riproducibile con IG Scraper API e Python

Politica editoriale Segnala un errore

Prima di avviare una campagna, puoi confrontare automaticamente ogni account IG del brief con i dati pubblici del profilo. Questo controllo individua username non corrispondenti, profili privati, cambiamenti di nome o biografia e discrepanze nel numero di pubblicazioni rispetto all’intervallo previsto. Il risultato è una tabella di controlli per chi si occupa di marketing, non una decisione automatica sull’idoneità del creator.

Articolo: Confronta il profilo IG con il brief della campagna usando campi verificabili
Riepilogo: Verifica i profili IG pubblici prima di avviare una campagna: recupera i dati tramite username, confrontali con il brief e genera un rapporto sulle discrepanze, senza sostituire i dati mancanti con degli zeri.
Ruolo dell’immagine: copertina — idea centrale
Sezione: 
Soggetto visivo: Foto editoriale: brief cartaceo per una campagna con influencer e un rapporto CSV compatto di convalida su una scrivania; i dati del profilo sono rappresentati da semplici schede neutre da usare
Il controllo confronta i requisiti del brief con specifici campi pubblici del profilo.© jsonscraper · creato con IA

Il problema: il brief invecchia più rapidamente del foglio di calcolo

L’elenco della campagna può contenere il nome dell’account, un link, una stima dei follower e i requisiti relativi al profilo pubblico. Queste informazioni possono facilmente diventare incoerenti: l’account cambia username, il profilo diventa privato e le cifre nel brief restano quelle precedenti. Controllare manualmente un singolo profilo è semplice; ripetere il controllo per un elenco di account prima di ogni campagna è più difficile da gestire e riprodurre.

Una soluzione utile consiste nello stabilire regole esplicite per ogni riga, recuperare i campi pubblici disponibili al momento del controllo e registrare accanto sia i valori attesi sia quelli effettivi. «Corrisponde» significa quindi soltanto che un campo specifico rispetta una regola specifica; la valutazione sulla corrispondenza con il pubblico o sulla qualità dei contenuti resta affidata a uno specialista.

Quali dati richiedere

Nella documentazione degli endpoint di IG API è descritto l’endpoint GET /v1/user/by/username, che richiede il parametro username. Nella risposta verificata, i dati del profilo si trovano nell’oggetto ig: vi sono indicati username, nome completo, biografia, indicatori di privacy e verifica, numero di pubblicazioni, follower e account seguiti. Questi campi descrivono un’istantanea disponibile del profilo.

Per un controllo preliminare, questi dati bastano a confrontare il nome dell’account, la privacy e le soglie numeriche. Puoi mostrare la biografia all’operatore oppure verificarla con una regola semplice, ad esempio la presenza di un termine obbligatorio. Un filtro testuale di questo tipo individua una corrispondenza letterale, ma da solo non valuta il significato né conferma il rispetto delle condizioni contrattuali.

Come integrare la richiesta in Python

Per prima cosa, salva la chiave di licenza nella variabile d’ambiente JSONSCRAPER_INSTAGRAM_LICENSE_KEY. L’esempio usa l’indirizzo di base, l’endpoint, il parametro username e il nome della chiave license_key verificati. Il CSV contiene i campi username,min_followers,max_followers,require_public; per ogni account, lo script confronta la risposta con le regole e segnala le righe che richiedono un controllo.

import csv
import os
import sys
import requests

BASE_URL = "https://ig.jsonscraper.com"
API_KEY = os.environ.get("JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
if not API_KEY:
    raise SystemExit("Set JSONSCRAPER_INSTAGRAM_LICENSE_KEY")

# brief.csv: username,min_followers,max_followers,require_public
with open("brief.csv", newline="", encoding="utf-8") as source:
    brief = list(csv.DictReader(source))

results = []
for row in brief:
    username = row.get("username", "").strip()
    minimum_text = row.get("min_followers", "").strip()
    if not username or not minimum_text:
        results.append({
            "requested_username": username,
            "needs_review": True,
            "error": "Missing username or min_followers",
        })
        continue

    try:
        response = requests.get(
            f"{BASE_URL}/v1/user/by/username",
            params={"username": username, "license_key": API_KEY},
            timeout=30,
        )
        response.raise_for_status()
        payload = response.json()
        if payload.get("status") != "ok" or not isinstance(payload.get("ig"), dict):
            raise ValueError("Unexpected API response")
        profile = payload["ig"]

        followers = profile.get("follower_count")
        minimum = int(minimum_text)
        maximum_text = row.get("max_followers", "").strip()
        maximum = int(maximum_text) if maximum_text else None
        public_required = row.get("require_public", "").strip().lower() == "true"

        checks = {
            "username_matches": (
                isinstance(profile.get("username"), str)
                and profile["username"].lower() == username.lstrip("@").lower()
            ),
            "followers_in_range": (
                isinstance(followers, int)
                and followers >= minimum
                and (maximum is None or followers

Per eseguirlo: python check_profiles.py. Installa la libreria requests, imposta la variabile d’ambiente nell’ambiente di esecuzione e metti accanto il file brief.csv. Non inserire la chiave nel codice sorgente o nel CSV finale. Lo script elabora l’elenco in sequenza, una modalità pratica per verificare ed eseguire il debug di piccoli gruppi di account.

Perché i dati mancanti devono restare visibili

Le regole di controllo devono distinguere un valore pari a zero da un campo assente. Nell’esempio, il numero di follower è considerato conforme solo se il campo è numerico; se il contatore non è presente, il requisito non è confermato e il record viene inviato al controllo manuale. Anche una soglia min_followers vuota viene segnalata come errore nei dati di input, anziché essere trasformata automaticamente in zero.

È opportuno includere nel flusso di lavoro anche la verifica della risposta. Lo script controlla prima che lo stato esterno sia ok e poi verifica che sia presente l’oggetto ig. Gli errori HTTP, il JSON inatteso o una regola non valida vengono riportati senza il testo dell’eccezione, che potrebbe rivelare la chiave nell’URL. In questo modo l’operatore può distinguere un errore della richiesta da una mancata corrispondenza del profilo senza esporre il segreto.

Come leggere i risultati e automatizzare il controllo

Il file profile_check.csv contiene lo username iniziale, il nome restituito, i campi pubblici disponibili, i risultati delle singole condizioni e l’indicatore generale needs_review. Il team può filtrare le righe in base a questo indicatore, mentre uno sviluppatore può salvare il rapporto in un archivio o passarne i dati al passaggio successivo del processo ETL. Per pianificare l’esecuzione, usa un pianificatore e salva separatamente la data di avvio, così da poter confrontare le istantanee delle campagne.

Articolo: Confronta il profilo IG con il brief della campagna usando campi verificabili
Riepilogo: Verifica i profili IG pubblici prima di avviare una campagna: recupera i dati tramite username, confrontali con il brief e genera un rapporto sulle discrepanze, senza sostituire i dati mancanti con degli zeri.
Ruolo dell’immagine: illustrazione di supporto 2 — un aspetto specifico diverso
Sezione: Come leggere i risultati e automatizzare il controllo
Soggetto visivo: Infografica in russo che mostra il flusso di lavoro: righe del brief CSV → GET /v1/use
Lo schema mostra il percorso dalla riga del brief al rapporto, compreso il controllo manuale dei dati mancanti.© jsonscraper · illustrazione generata dall’IA

Se una regola cambia, conservala nel brief invece di incorporarla nel codice. Così le soglie restano verificabili: per ogni riga è possibile vedere quale intervallo di follower o quale requisito di visibilità era previsto. Per la biografia puoi aggiungere un controllo sulla presenza di un testo specifico, ma una corrispondenza letterale non sostituisce la valutazione del contenuto da parte di uno specialista.

Nella pagina IG Scraper API sono indicati l’indirizzo di base, un esempio di richiesta e un link a Postman. Lo scenario qui sopra usa soltanto la ricerca del profilo tramite username, verificata, e non presuppone che la richiesta restituisca le pubblicazioni.

Il risultato pratico è un controllo preliminare riproducibile: invece di esaminare manualmente l’intero elenco, il team ottiene un riepilogo delle corrispondenze e delle eccezioni associate a specifici campi del brief. Questo accelera la verifica prima del lancio, lasciando la valutazione dell’idoneità per la campagna allo specialista responsabile.

Persone

Nessuna persona elencata ancora per questo articolo.

Continua a leggereVerifica il profilo IG rispetto al brief della campagna prima del lancio: controllo tramite API
Leggi il prossimo articolo

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