jsonscraper

Jak měřit dynamiku obsahu konkurence na IGu: API pipeline v Pythonu

Sbírejte veřejné příspěvky podle plánu, počítejte metriky z vlastních dat a posílejte týmu ověřitelný přehled.

Redakční zásady Nahlásit chybu

Marketingový tým může příspěvky konkurence sledovat ve feedu, ale ruční prohlížení jen těžko odpoví na konkrétní otázku: které formáty a témata pravidelně získávají reakce a které zaujaly pouze jednou? Řešením je každý den ukládat data o veřejných příspěvcích a porovnávat je v čase, podle formátu a dostupných počítadel.

Article: Jak měřit dynamiku obsahu konkurence na IGu: API pipeline v Pythonu
Summary: Praktický postup pro sledování veřejných příspěvků na IGu: požadavek na IG Scraper API, normalizace JSON, každodenní ukládání snímků a výpočet dynamiky bez zaměňování kumulovaných a nových reakcí.
Image role: cover — the central idea
Section: 
Visual subject: A digital analytics dashboard visualizing a timeline of IG-style public content cards, engagement counters and daily data snapshots, cle
© jsonscraper · Ilustrace vytvořená pomocí AI

Níže najdete základní pipeline v Pythonu a nástroji IG Scraper API. Získává příspěvky vybraného účtu, ukládá odpovědi do JSONL a vytváří přehled nových příspěvků. Údaje o reakcích v takovém přehledu odpovídají hodnotám vráceným API v okamžiku sběru; snímky z různých dat umožňují samostatně analyzovat jejich změny.

Nejprve určete, co chcete porovnávat

Pro menší výběr konkurentů stačí vést seznam veřejných účtů a sbírat jejich příspěvky podle jednoho harmonogramu. Začněte otázkami, na které mohou data odpovědět: jak často vychází obsah, které příspěvky patří mezi Reels nebo jiné formáty, která témata se opakují a jak se mění dostupné počty lajků a komentářů.

V úložišti rozlišujte dva pojmy: příspěvek a jeho snímek. Příspěvek identifikujte stabilním ID, pokud je v odpovědi k dispozici; každý další běh ukládejte jako samostatný záznam s časem sběru. Tak můžete sledovat změny dostupných počítadel, místo abyste včerejší hodnotu přepsali dnešní.

Použijte dokumentovanou cestu API

Dokumentace jsonscraperu uvádí pro základní požadavek adresu https://ig.jsonscraper.com a cestu GET /v1/user/by/username. Pro získávání příspěvků seznam API uvádí také GET /v1/user/medias/chunk. Přesnou sadu parametrů a polí odpovědi ověřte v související kolekci Postman: nezakládejte zpracování na předpokládané struktuře, dokud neprozkoumáte skutečnou odpověď pro svůj požadavek.

Při počátečním ověření použijte dokumentovaný příklad požadavku na profil; klíč předávejte prostřednictvím proměnné prostředí, nikoli přímo ve zdrojovém kódu:

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"

Příklad na stránce produktu uvádí pro cestu k profilu parametry username, license_key a cache_timeout. Další cesty používejte s tímto parametrem pouze tehdy, pokud je pro ně uveden v dokumentaci. Názvy aktuálních parametrů pro požadavek na příspěvky převezměte ze specifikace této cesty.

Ukládejte odpovědi jako časové snímky

Následující skript je základem pro produkční běh: URL a parametry cesty pro příspěvky jsou ponechány v konfiguraci, abyste je mohli vyplnit přesně podle dokumentace Postmanu. Zpracování ukládá původní JSON a čas sběru; normalizaci polí přidejte až po ověření skutečné odpovědi.

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

# Vyplňte endpoint a parametry podle dokumentace cesty
# GET /v1/user/medias/chunk v kolekci 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")

Záměrně zde nejsou vymyšlené parametry stránkování ani názvy polí: je třeba je převzít z konkrétní specifikace a ověřit na odpovědi API. Požadavky s časovým limitem a metodou raise_for_status() pomáhají odhalit síťovou chybu dříve, než se výsledek uloží jako běžná data. Pro automatizované spouštění přidejte validaci JSON a protokolování chyb.

Přidejte plánování a metriky

Spouštějte sběr jednou denně pomocí cronu nebo plánovače automatizace. U více účtů projděte konfigurační seznam, uložte samostatný snímek pro každý účet a počítejte s opakováním běhu po dočasné chybě. Klíč uchovávejte v proměnné prostředí nebo v úložišti tajných údajů; stránka API navíc doporučuje nevkládat jej do klientského kódu.

Po ověření odpovědi normalizujte záznamy do tabulky s poli, jako jsou username, media_id, collected_at, typ obsahu a dostupná počítadla. Původní JSON nemažte: bude se hodit, pokud se změní formát odpovědi nebo bude třeba ověřit výpočet.

V analytické vrstvě počítejte počet nových příspěvků za období, medián dostupných reakcí podle formátu a změnu počítadla u téhož příspěvku mezi snímky. Medián omezuje vliv jednoho virálního příspěvku na přehled. Porovnávejte účty za stejná časová období a vedle souhrnné hodnoty uvádějte velikost vzorku.

Jaký bude výsledek

Tým získá reprodukovatelnou tabulku příspěvků a každodenní přehled: četnost publikování, rozložení podle formátů a vývoj dostupných reakcí. Tyto údaje pomáhají formulovat hypotézy pro vlastní redakční plán, místo pouhého pořizování snímků obrazovky z feedu.

Dalším krokem je odesílat normalizované záznamy do Google Sheets, databáze nebo systému pro vizualizaci a textový přehled vytvářet v samostatné fázi. Pokud zapojíte AI, předávejte jí agregovaná data a požádejte ji, aby popsala pozorované vzorce včetně období a počtu příspěvků; rozhodnutí o strategii ponechte na editorovi.

Začněte s jedním účtem a jednou cestou: ověřte parametry a strukturu odpovědi v popisu IG Scraper API a pak tuto konfiguraci nastavte v plánu. Díky tomu se sledování konkurence změní z jednorázového ručního prohlížení v přehlednou pipeline s uchovávanou historií.

People

No people listed for this article yet.

Keep readingJak scrapovat IG pomocí Pythonu
Read the next article

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