jsonscraper
Rynki
Powrót do dziennika

Porównuj profil na IGie z briefem kampanii na podstawie weryfikowalnych pól

Jak zamienić listę kont w powtarzalną kontrolę za pomocą IG Scraper API i Pythona

Polityka redakcyjna Zgłoś błąd

Przed rozpoczęciem kampanii można automatycznie porównać każde konto na IGie z briefu z publicznymi danymi profilu. Taka kontrola wykrywa niezgodność nazwy użytkownika, status prywatny, zmianę nazwy lub biogramu oraz różnicę między liczbą publikacji a oczekiwanym zakresem. Wynikiem jest tabela kontroli dla specjalisty ds. marketingu, a nie automatyczna decyzja o przydatności twórcy.

Artykuł: Porównuj profil na IGie z briefem kampanii na podstawie weryfikowalnych pól
Podsumowanie: Sprawdź publiczne profile na IGie przed rozpoczęciem kampanii: pobierz dane według nazwy użytkownika, porównaj je z briefem i przygotuj raport rozbieżności, nie zastępując brakujących danych zerami.
Rola obrazu: okładka — główna idea
Sekcja: 
Temat wizualny: Zdjęcie redakcyjne: wydrukowany brief kampanii influencerskiej i zwięzły raport weryfikacji CSV na biurku; dane profilu przedstawione za pomocą prostych, neutralnych kart
Kontrola porównuje wymagania briefu z konkretnymi, publicznie dostępnymi polami profilu.© jsonscraper · stworzone przy użyciu AI

Problem: brief dezaktualizuje się szybciej niż arkusz

Lista kampanii może zawierać nazwę konta, link, orientacyjną liczbę obserwujących i wymagania dotyczące publicznego profilu. Te informacje łatwo się rozchodzą: konto zmienia nazwę użytkownika, profil staje się prywatny, a liczby w briefie pozostają bez zmian. Ręczne sprawdzenie pojedynczego profilu jest proste; trudniej kontrolować i powtarzać je dla listy kont przed każdą kampanią.

Przydatnym rozwiązaniem jest określenie jawnych reguł dla każdego wiersza, pobranie dostępnych publicznych pól w chwili kontroli i zapisanie obok siebie wartości oczekiwanych oraz rzeczywistych. „Zgadza się” oznacza wtedy wyłącznie, że konkretne pole spełnia konkretną regułę; decyzja o dopasowaniu odbiorców lub jakości treści pozostaje po stronie specjalisty.

Jakie dane pobierać

W dokumentacji endpointów IG API opisano endpoint GET /v1/user/by/username z wymaganym parametrem username. W zweryfikowanej odpowiedzi dane profilu znajdują się w obiekcie ig: obejmuje on nazwę użytkownika, imię i nazwisko, biogram, informacje o prywatności i weryfikacji oraz liczbę publikacji, obserwujących i obserwowanych kont. Te pola opisują dostępny zrzut profilu.

Do wstępnej kontroli wystarczy to, by porównać nazwę konta, status prywatności i progi liczbowe. Biogram można wyświetlić operatorowi do sprawdzenia albo kontrolować według prostej reguły, na przykład obecności wymaganego terminu. Taki filtr tekstowy wykrywa zgodność ciągu znaków, ale sam w sobie nie ocenia znaczenia ani nie potwierdza spełnienia warunków umowy.

Jak zintegrować zapytanie w Pythonie

Najpierw zapisz klucz licencyjny w zmiennej środowiskowej JSONSCRAPER_INSTAGRAM_LICENSE_KEY. Przykład wykorzystuje potwierdzony adres bazowy, endpoint, parametr username i nazwę klucza license_key. Plik CSV zawiera pola username,min_followers,max_followers,require_public; dla każdego konta skrypt porównuje odpowiedź z regułami i oznacza wiersze wymagające sprawdzenia.

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

Uruchom: python check_profiles.py. Zainstaluj bibliotekę requests, ustaw zmienną środowiskową w środowisku uruchomieniowym i umieść obok plik brief.csv. Nie zapisuj klucza w kodzie źródłowym ani w końcowym pliku CSV. Skrypt przetwarza listę sekwencyjnie, co ułatwia kontrolę i debugowanie niewielkich zbiorów kont.

Dlaczego braki powinny pozostać widoczne

W regułach kontroli ważne jest rozróżnienie wartości zerowej od brakującego pola. W przykładzie liczba obserwujących jest uznawana za odpowiednią tylko wtedy, gdy pole zawiera wartość liczbową; jeśli licznika brakuje, warunek nie jest potwierdzony, a rekord trafia do ręcznej kontroli. Pusty próg min_followers również jest oznaczany jako błąd danych wejściowych, a nie automatycznie zamieniany na zero.

Weryfikację odpowiedzi warto uwzględnić w procesie pracy. Skrypt najpierw upewnia się, że zewnętrzny status ma wartość ok, a następnie sprawdza, czy istnieje obiekt ig. Błąd HTTP, nieoczekiwany JSON lub nieprawidłowa reguła trafiają do raportu bez treści wyjątku, która mogłaby ujawnić klucz w adresie URL. Dzięki temu operator odróżnia awarię zapytania od niezgodności profilu, nie ujawniając sekretu.

Jak interpretować wyniki i zautomatyzować kontrolę

Plik profile_check.csv zawiera pierwotną nazwę użytkownika, zwróconą nazwę, dostępne publiczne pola, wyniki poszczególnych warunków oraz zbiorczą flagę needs_review. Zespół może filtrować wiersze według tej flagi, a programista zapisać raport w magazynie danych lub przekazać go do kolejnego etapu procesu ETL. Aby zaplanować uruchomienia, użyj harmonogramu zadań i zapisuj osobno datę uruchomienia, by porównywać zrzuty kampanii.

Artykuł: Porównuj profil na IGie z briefem kampanii na podstawie weryfikowalnych pól
Podsumowanie: Sprawdź publiczne profile na IGie przed rozpoczęciem kampanii: pobierz dane według nazwy użytkownika, porównaj je z briefem i przygotuj raport rozbieżności, nie zastępując brakujących danych zerami.
Rola obrazu: ilustracja uzupełniająca 2 — inny konkretny aspekt
Sekcja: Jak interpretować wyniki i zautomatyzować kontrolę
Temat wizualny: Infografika przedstawiająca po polsku przepływ pracy: wiersze briefu CSV → GET /v1/use
Schemat przedstawia drogę od wiersza briefu do raportu, w tym ręczną kontrolę brakujących danych.© jsonscraper · ilustracja wygenerowana przez AI

Jeśli reguła się zmienia, przechowuj ją w briefie, zamiast wpisywać na stałe w kodzie. Dzięki temu progi można zweryfikować: dla każdego wiersza widać, jakiego zakresu liczby obserwujących lub jakiego statusu publicznego oczekiwano. Można dodać sprawdzanie obecności określonego tekstu w biogramie, ale dosłowna zgodność nie zastępuje merytorycznej oceny specjalisty.

Na stronie IG Scraper API podano adres bazowy, przykład zapytania i link do Postmana. Powyższy scenariusz wykorzystuje wyłącznie potwierdzone wyszukiwanie profilu według nazwy użytkownika i nie zakłada, że zapytanie zwraca publikacje.

Praktyczny rezultat to powtarzalna kontrola wstępna: zamiast ręcznie przeglądać całą listę, zespół otrzymuje zestawienie zgodności i wyjątków powiązanych z konkretnymi polami briefu. Przyspiesza to weryfikację przed rozpoczęciem kampanii, pozostawiając decyzję o jej dopasowaniu odpowiedzialnemu specjaliście.

Ludzie

Nie ma jeszcze żadnych osób na liście dla tego artykułu.

Czytaj dalejSprawdź profil na IGie przed kampanią: walidacja przez API
Przeczytaj następny artykuł

Zmień lekturę w działającą integrację

Poznaj API danych społecznościowych jsonscraper, testuj zapytania i buduj kolejne procesy.

Poznaj API