jsonscraper
Trhy
Zpět do magazínu

Porovnejte instagramový profil s ověřitelnými požadavky kampaně

Jak proměnit seznam účtů v opakovatelnou kontrolu pomocí IG Scraper API a Pythonu

Redakční zásady Nahlásit chybu

Před spuštěním kampaně lze automaticky porovnat každý instagramový účet z briefu s veřejnými údaji profilu. Taková kontrola odhalí nesoulad uživatelského jména, soukromý profil, změnu jména nebo životopisu a rozdíl v počtu příspěvků oproti očekávanému rozmezí. Výsledkem je tabulka kontrol pro marketéra, nikoli automatické rozhodnutí o vhodnosti tvůrce.

Článek: Porovnejte instagramový profil s ověřitelnými požadavky kampaně
Shrnutí: Před spuštěním kampaně ověřte veřejné instagramové profily: načtěte údaje podle uživatelského jména, porovnejte je s briefem a vytvořte přehled nesrovnalostí, aniž byste chybějící data nahrazovali nulami.
Role obrázku: titulní — ústřední myšlenka
Sekce: 
Vizuální námět: Redakční fotografie: vytištěný brief kampaně influencerů a kompaktní validační report CSV na stole, údaje profilu znázorněné jednoduchými neutrálními kartami
Kontrola porovnává požadavky briefu s konkrétními veřejnými poli profilu.© jsonscraper · vytvořeno pomocí AI

Problém: brief zastarává rychleji než tabulka

V seznamu kampaně může být uvedeno jméno účtu, odkaz, orientační počet sledujících a požadavky na veřejný profil. Tyto údaje se snadno rozejdou: účet změní uživatelské jméno, profil se nastaví jako soukromý a čísla v briefu zůstanou stejná. Ručně ověřit jeden profil je snadné; opakovat tuto kontrolu před každou kampaní u celého seznamu účtů už je obtížnější řídit a reprodukovat.

Užitečným řešením je stanovit pro každý řádek jasná pravidla, načíst dostupná veřejná pole v okamžiku kontroly a vedle sebe zapsat původní a skutečné hodnoty. „Shoda“ pak znamená pouze to, že konkrétní pole odpovídá konkrétnímu pravidlu; rozhodnutí o vhodnosti publika nebo kvalitě obsahu zůstává na odborníkovi.

Jaká data načítat

V přehledu endpointů IG API je popsán endpoint GET /v1/user/by/username s povinným parametrem username. V ověřené odpovědi jsou údaje profilu v objektu ig: obsahuje uživatelské jméno, celé jméno, životopis, příznaky soukromí a ověření, počet příspěvků, sledujících a sledovaných účtů. Tato pole popisují dostupný snímek profilu.

Pro předběžnou kontrolu to stačí k porovnání jména účtu, soukromí a číselných limitů. Životopis lze zobrazit obsluze ke kontrole nebo ověřit jednoduchým pravidlem, například přítomností povinného výrazu. Takový textový filtr zjistí shodu řetězce, sám o sobě ale neposuzuje jeho význam ani nepotvrzuje splnění smluvních podmínek.

Jak zapojit požadavek v Pythonu

Nejprve uložte licenční klíč do proměnné prostředí JSONSCRAPER_INSTAGRAM_LICENSE_KEY. Příklad používá potvrzenou základní adresu, endpoint, parametr username a název klíče license_key. CSV obsahuje pole username,min_followers,max_followers,require_public; skript porovná odpověď každého účtu s pravidly a označí řádky, které vyžadují kontrolu.

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 

Spuštění: python check_profiles.py. Nainstalujte knihovnu requests, nastavte proměnnou prostředí v běhovém prostředí a umístěte vedle skriptu soubor brief.csv. Nezapisujte klíč do zdrojového kódu ani výsledného CSV. Skript zpracovává seznam postupně, což usnadňuje kontrolu a ladění menších skupin účtů.

Proč musí chybějící hodnoty zůstat viditelné

V pravidlech kontroly je důležité rozlišovat mezi nulovou hodnotou a chybějícím polem. V příkladu se počet sledujících považuje za vyhovující pouze tehdy, když je číselné pole k dispozici; pokud počitadlo chybí, podmínka není potvrzena a záznam se předá k ruční kontrole. Prázdný limit min_followers se rovněž označí jako chyba vstupních dat, místo aby se automaticky změnil na nulu.

Kontrolu odpovědi je vhodné zachovat jako součást pracovního postupu. Skript nejprve ověří, že vnější stav má hodnotu ok, a poté zkontroluje, zda existuje objekt ig. Chyba HTTP, neočekávaný JSON nebo neplatné pravidlo se zaznamenají do reportu bez textu výjimky, který by mohl odhalit klíč v URL. Obsluha tak rozliší selhání požadavku od nesouladu profilu, aniž by vyzradila tajný údaj.

Jak číst výsledky a automatizovat kontrolu

Soubor profile_check.csv obsahuje původní uživatelské jméno, vrácené jméno, dostupná veřejná pole, výsledky jednotlivých podmínek a celkový příznak needs_review. Tým může filtrovat řádky podle tohoto příznaku a vývojář může report uložit do úložiště nebo předat do dalšího kroku procesu ETL. Pro plánované spouštění použijte plánovač úloh a uložte zvlášť datum spuštění, abyste mohli porovnávat snímky kampaní.

Článek: Porovnejte instagramový profil s ověřitelnými požadavky kampaně
Shrnutí: Před spuštěním kampaně ověřte veřejné instagramové profily: načtěte údaje podle uživatelského jména, porovnejte je s briefem a vytvořte přehled nesrovnalostí, aniž byste chybějící data nahrazovali nulami.
Role obrázku: doprovodná ilustrace 2 — jiný konkrétní aspekt
Sekce: Jak číst výsledky a automatizovat kontrolu
Vizuální námět: Infografické schéma v ruštině znázorňující pracovní postup: řádky briefu CSV → GET /v1/use
Schéma ukazuje cestu od řádku briefu k reportu, včetně ruční kontroly chybějících údajů.© jsonscraper · ilustrace vytvořená pomocí AI

Pokud se pravidlo změní, uchovávejte ho v briefu, nikoli napevno v kódu. Díky tomu lze limity ověřit: u každého řádku je vidět, jaké rozmezí počtu sledujících nebo jaký příznak veřejného profilu se očekával. Pro životopis lze přidat kontrolu výskytu zadaného textu, ale doslovná shoda nenahrazuje věcné posouzení odborníkem.

Na stránce IG Scraper API je uvedena základní adresa, příklad požadavku a odkaz na Postman. Výše uvedený postup používá pouze ověřené vyhledání profilu podle uživatelského jména a nepředpokládá, že tento požadavek vrací příspěvky.

Praktickým výsledkem je opakovatelná předběžná kontrola: místo ručního prohlížení celého seznamu získá tým přehled shod a výjimek navázaných na konkrétní pole briefu. To urychlí kontrolu před spuštěním kampaně a zároveň ponechá rozhodnutí o vhodnosti na odpovědném odborníkovi.

Lidé

Pro tento článek zatím nejsou uvedeni žádní lidé.

Pokračujte ve čteníPřed spuštěním kampaně porovnejte profil IGu se zadáním: kontrola přes API
Přečtěte si další článek

Proměňte přečtené ve funkční integraci

Prozkoumejte API sociálních dat jsonscraper, testujte požadavky a sestavte další workflow.

Prozkoumat API