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.

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í.