Jak zbierać dane publiczne z Instagrama do badań marketingowych

Instagram zablokował dostęp do publicznego API w 2020 roku, ale publiczne punkty końcowe w sieci nadal zwracają profile, posty i dane hashtagów w formacie JSON. Oto, co jest dostępne, dlaczego mobilne adresy IP mają znaczenie i gdzie jest granica.

Instagram zamknął publiczny dostęp do swojego oficjalnego API w 2020 roku, dlatego każdy przewodnik dotyczący zbierania danych z Instagrama opiera się teraz na publicznych punktach końcowych w sieci. Dobra wiadomość dla badań marketingowych: te punkty końcowe nadal zwracają profile, posty, rolki i wolumeny hashtagów jako czysty JSON, bez potrzeby logowania. Haczyk polega na tym, że Instagram jest jedną z najbardziej agresywnych platform w oznaczaniu zautomatyzowanego ruchu, więc adres IP, którego używasz, i tempo, które utrzymujesz, decydują o tym, czy punkt końcowy pozostaje otwarty. Ten przewodnik obejmuje, co jest dostępne, kod do jego osiągnięcia oraz granice ToS i RODO, których nie powinieneś przekraczać.

Jakie dane publiczne z Instagrama możesz faktycznie zebrać

Bez konta możesz uzyskać zaskakującą ilość danych, wszystkie przydatne do badań rynkowych i influencerów:

Czego nie możesz uzyskać bez uwierzytelnionej sesji: pełne listy obserwujących, listy kont, które polubiły post, prywatne konta i historie. Te punkty końcowe wymagają ciasteczka sesji, i to właśnie tam koncentrują się bany kont i naruszenia ToS. Do badań pozostań na publicznej powierzchni.

Porównanie danych publicznych z Instagrama, takich jak profile, posty i wolumen hashtagów, z danymi dostępnymi po zalogowaniu, takimi jak listy obserwujących i polubień, które niosą ryzyko zablokowania konta
Publiczne dane z sieci to bezpieczna powierzchnia; wszystko za ciasteczkiem sesji niesie ryzyko zablokowania konta i naruszenia ToS.

Publiczny punkt końcowy profilu, z kodem

Aplikacja webowa Instagrama pobiera dane profilu z punktu końcowego JSON, który każdy może wywołać, pod warunkiem, że wyślesz nagłówek id aplikacji webowej. Przekieruj go przez proxy i masz dane profilu w kilku liniach:

import requests

PROXY = "http://USER:PASS@gate.quantumproxies.io:8000"  # mobile pool
proxies = {"http": PROXY, "https": PROXY}

HEADERS = {
    "x-ig-app-id": "936619743392459",  # public web app id
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) "
                  "AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
}

def profile(username):
    url = "https://www.instagram.com/api/v1/users/web_profile_info/"
    r = requests.get(url, params={"username": username},
                     headers=HEADERS, proxies=proxies, timeout=20)
    r.raise_for_status()
    return r.json()["data"]["user"]

u = profile("natgeo")
print(u["full_name"], u["edge_followed_by"]["count"])

Ten sam ładunek zawiera ostatnie posty pod edge_owner_to_timeline_media, więc jedno wywołanie daje ci profil i jego najnowsze zaangażowanie razem:

for edge in u["edge_owner_to_timeline_media"]["edges"]:
    node = edge["node"]
    print(node["shortcode"],
          node["edge_media_preview_like"]["count"],   # likes
          node["edge_media_to_comment"]["count"])       # comments

Dlaczego mobilne proxy wygrywają na Instagramie

Najczęstszą awarią Instagrama jest blokada limitu szybkości: punkt końcowy zaczyna zwracać błędy i tymczasowo blokuje adres IP, który go uderzył. Czekanie i wydłużanie timeoutów pomaga trochę, ale trwałym rozwiązaniem jest typ adresu IP. Mobilne proxy są tutaj najsilniejszą opcją ze względu na CGNAT - jeden mobilny adres IP jest współdzielony przez tysiące prawdziwych abonentów, więc Instagram nie może go zablokować bez uderzenia w prawdziwych użytkowników. To sprawia, że mobilne wyjścia są najtrudniejsze do zablokowania i najbardziej zbliżone do tego, jak większość ludzi faktycznie przegląda aplikację. Nasze wyjaśnienie dlaczego CGNAT sprawia, że mobilne IP są zaufane obejmuje mechanizm, a mobilne proxy vs VPN wyjaśnia, dlaczego VPN nie może tego zrobić.

Połącz pulę mobilnych proxy z ludzkim tempem - losowe opóźnienia, ograniczona równoczesność i zatrzymanie, gdy wskaźnik blokad rośnie - a publiczne punkty końcowe pozostają otwarte podczas długich zbiorów.

Proxy rezydencyjne są rozsądną alternatywą, gdy mobilna pula nie jest dostępna - nasza sieć rezydencyjna obejmuje ponad 200 krajów dla zbierania geo-dokładnego - ale na Instagramie konkretnie, mobilne wyjścia przetrwają najdłużej. Niezależnie od typu adresu IP, traktuj odpowiedź limitu szybkości jako sygnał do zwolnienia, a nie do ponownego próbowania: wycofaj się, rotuj i wydłuż przerwę między wywołaniami. Skrypt, który respektuje ograniczenia, zbiera znacznie więcej w ciągu dnia niż ten, który przebija się przez blokady i spala swoją pulę w godzinę.

Odporna publiczna linia przesyłowa Instagrama kierująca listę nazw użytkowników i hashtagów przez mobilne proxy do publicznego punktu końcowego web_profile_info JSON i do uporządkowanych wierszy
Mobilne adresy IP plus ludzkie tempo utrzymują publiczny punkt końcowy otwarty podczas długich zbiorów - CGNAT sprawia, że te wyjścia są trudne do zablokowania.

Zdobądź mobilne proxy stworzone dla platform społecznościowych

Hashtagi i odkrywanie

Do odkrywania trendów i influencerów, dane hashtagów biją zbieranie pojedynczych profili. Strony hashtagów ujawniają wolumen postów i klastry powiązanych tagów, co pozwala mapować, jak nasycony jest temat i znaleźć cichsze sąsiednie tagi do celowania. Połącz to z wskaźnikami zaangażowania na profil - polubienia i komentarze w stosunku do liczby obserwujących - i masz obronną krótką listę twórców, nie dotykając nigdy danych chronionych. Jeśli twoje badania obejmują platformy, ta sama dyscyplina dotyczy publicznych danych TikTok, a istnieje nakładka z automatyzacją społeczną na Instagramie, TikToku i X.

Co zachować, a co odrzucić

Do badań przechowuj sygnały zbiorcze i odrzucaj resztę. Liczby obserwujących i obserwowanych, częstotliwość publikacji, średnia liczba polubień i komentarzy oraz użycie hashtagów mówią ci wszystko o zasięgu i zaangażowaniu bez przechowywania stosu danych osobowych. URL-e mediów wygasają, a pełne podpisy rozrastają twoje przechowywanie, więc zachowaj stabilne identyfikatory, takie jak shortcode plus metryki, i ponownie pobieraj treść na żądanie. Minimalizowanie tego, co przechowujesz, to zarówno dobra inżynieria, jak i bezpieczniejsza strona linii RODO - tabela wskaźników zaangażowania jest znacznie mniej wrażliwa niż magazyn nazwanych kont i ich postów.

Granice ToS i RODO

Dwie granice mają znaczenie. Po pierwsze, warunki Instagrama ograniczają zautomatyzowane zbieranie, a użycie zalogowanej sesji do zbierania danych chronionych ryzykuje konto, nie tylko adres IP - trzymaj się publicznych, nieautoryzowanych punktów końcowych do badań. Po drugie, uchwyty obserwujących, autorzy komentarzy i szczegóły profilu to dane osobowe. Zgodnie z RODO i podobnymi reżimami potrzebujesz legalnej podstawy do ich zbierania i przechowywania, powinieneś minimalizować to, co przechowujesz, i unikać budowania profili identyfikowalnych osób bez wyraźnego powodu. Metryki zbiorcze (liczby obserwujących, wskaźniki zaangażowania, wolumeny hashtagów) są znacznie bezpieczniejsze niż listy nazwanych osób. Nasz przewodnik po RODO i zbieraniu danych osobowych obejmuje szczegóły - a to jest praktyczne wskazówki, nie porada prawna.

Często zadawane pytania

Czy można zbierać dane z Instagrama bez konta?

Tak, dla danych publicznych. Punkt końcowy profilu webowego zwraca biografie, liczby obserwujących i ostatnie posty jako JSON, gdy wyślesz nagłówek publiczny x-ig-app-id, a strony hashtagów i miejsc ujawniają wolumen i metadane. Listy obserwujących, polubień i prywatne konta wymagają uwierzytelnionej sesji i powinny być unikać do badań.

Dlaczego Instagram ciągle ogranicza szybkość mojego skryptu?

Uderzasz w punkt końcowy zbyt szybko z adresu IP, któremu Instagram nie ufa. Zwolnij z losowymi opóźnieniami, ogranicz równoczesność i przełącz się na mobilne proxy - mobilny adres IP CGNAT jest współdzielony przez tysiące prawdziwych użytkowników, więc Instagram jest znacznie wolniejszy w jego blokowaniu niż adres centrum danych.

Czy zbieranie danych z Instagrama jest legalne?

Zbieranie publicznych, nieosobowych danych do badań jest generalnie mniej ryzykowne, ale warunki Instagrama ograniczają automatyzację, a dane osobowe są regulowane przez RODO i podobne przepisy. Pozostań na publicznych punktach końcowych, minimalizuj dane osobowe, które przechowujesz, i skonsultuj się z prawnikiem w przypadku wszystkiego, co dotyczy identyfikowalnych osób na dużą skalę. To nie jest porada prawna.

Jaki jest najlepszy typ proxy do zbierania danych z Instagrama?

Mobilne proxy. Ponieważ CGNAT mapuje jeden mobilny adres IP na wielu prawdziwych abonentów, platforma nie może go zablokować bez szkód ubocznych, co czyni mobilne wyjścia najbardziej trwałymi do długotrwałego zbierania. Proxy rezydencyjne są rozsądnym drugim wyborem; adresy IP centrum danych są blokowane najszybciej.

Publiczne dane z Instagrama są bardzo dostępne do badań marketingowych - punkty końcowe profilu, postów i hashtagów nadal zwracają czysty JSON. Dwa zmienne, które decydują o sukcesie, to adres IP (mobilny wygrywa) i umiar (tylko dane publiczne, ludzkie tempo, minimalne dane osobowe). Zrób to dobrze, a punkt końcowy pozostanie otwarty.

Rozpocznij zbieranie z mobilnymi proxy QuantumProxies