Z API do CSV
Publikováno 25. června 2025 • 2 min. čtení • 244 slov
Všechny statistické výstupy TOPlistu jsou dostupné přes API. Nově je hlavní metoda pro jejich získání /stat/process (viz https://profi.toplist.cz/api/#!/stat/post_stat_process), která se používá i v interaktivních statistikách.
Jeden ze zákazníků potřeboval výstup z této metody ve formátu CSV pro další zpracování. Vytvořil jsem jednoduchý skript, který tento výstup převede do CSV. Je dostupný na Codebergu, případně na GitHubu.
Skript (api2csv.py) je napsaný v čistém Pythonu, bez použití dalších knihoven (např. requests), takže by měl fungovat i na starších verzích Pythonu, případně i ve Windows bez nutnosti instalace dalších balíčků. Lze jej brát i jako příklad, jak pracovat s API TOPlistu.
Použití je jednoduché:
Pro zjednodušení jsou parametry nastavitelné přímo v kódu, takže stačí v souboru api2csv.py upravit hodnoty pro API_TOKEN a POST_DATA.
API_TOKEN je váš API klíč, který získáte v administraci TOPlistu
a v POST_DATA nastavíte parametry pro API volání, které odpovídají vašim požadavkům na statistiky. Jejich struktura je následující:
POST_DATA = {
"date": "2025-05-30",
"interval": "day",
"step": "hour",
"stats": ["visits", "totalPages"],
"rowLimit": 100
}kde date je datum, pro které chcete získat statistiky (ve formátu YYYY-MM-DD), interval je časové rozmezí (např. day, week, month), step je krok statistik (např. hour, day, week), stats jsou požadované statistiky (viz API metoda /sharedData/job), a rowLimit je maximální počet řádků, které chcete získat.
poté už stačí spustit skript
python3 api2csv.pyv tomto případě se výsledky posílají na standardní výstup (stdout).
Pokud přidáte parametr, je použit jako prefix pro názvy souborů s jednotlivými statistikami:
python3 api2csv.py prefixVýstup bude vypadat takto:
prefix-visits.csv
prefix-totalPages.csv