Skip to content

Публічне сховище даних про планові відключення електроенергії в Україні.

License

Notifications You must be signed in to change notification settings

Baskerville42/outage-data-ua

outage-data-ua

Публічне сховище та інструменти для автоматичного збирання, парсингу, візуалізації (HTML) і автоматичної генерації PNG‑зображень графіків планових/аварійних відключень електроенергії в Україні.

Проєкт отримує дані з відкритих вебсторінок постачальників та зберігає їх у JSON «як є» у директорії data/. Далі ці дані відображаються у фіксованому шаблоні HTML і конвертуються у PNG‑зображення, які зберігаються у images/<region>/gpv-x-x.png.


Формат даних

Кожен регіон зберігається у файлі data/<region>.json. Базова структура (скорочено):

{
  "regionId": "kyiv",
  "regionAffiliation": "м. Київ",
  "lastUpdated": "2025-11-06T11:41:56.430Z",
  "fact": { "updateFact": "06.11.2025 09:09" },
  "preset": { "updateFact": "04.11.2025 18:00" },
  "lastUpdateStatus": { "status": "parsed", "ok": true, "code": 200, "message": null, "at": "2025-11-06T11:41:56.430Z", "attempt": 5 },
  "meta": { "schemaVersion": "1.0.0", "contentHash": "..." }
}
  • preset — планові відключення на тиждень для кожної групи (тижневий шаблон). Зберігається «як є», без нормалізації структури.
  • fact — фактичні/аварійні відключення на сьогодні та завтра для кожної групи. Також зберігається «як є».
  • Кожен із об’єктів (fact і preset) містить поле updateFact та update — дата й час, на які інформація актуальна (значення з джерела; парсер не змінює формат, зазвичай dd.MM.yyyy HH:mm у часовій зоні Europe/Kyiv).
  • Блок meta мінімальний: тільки schemaVersion та contentHash (хеш вмісту fact + preset).
  • У разі помилки парсингу парсер оновлює лише lastUpdateStatus (наприклад, status = "error", код 422), не стираючи попередні fact/preset.
  • Актуальний шаблон структури — у файлі templates/json/data.json.

Детальні приклади полів preset і fact — у поточних JSON у data/.


Зображення

  • Згенеровані PNG зображення зберігаються у директоріях images/<regionId>/.
  • Формат назв файлів: gpv-x-x.png, наприклад: images/kyiv-region/gpv-1-2.png відповідає групі GPV1.2.
  • У репозиторії присутні актуальні зображення для доступних регіонів; вони оновлюються разом із даними.

Обмеження та антибот

  • У CI тепер використовується безголовий браузер (Playwright, Chromium), який виконує JS і встановлює cookies — це допомагає коректно проходити антибот‑перевірки та отримувати «справжній» HTML.
  • Якщо замість сторінки приходить WAF‑HTML, парсер виставляє код помилки (напр., 422) і зберігає наявні дані.

Ліцензія та юридичні застереження

  • Дані збираються з публічно доступних джерел. Дотримуйтеся умов використання сайтів.
  • Репозиторій не претендує на право власності на первинні дані; див. LICENSE (MIT).

About

Публічне сховище даних про планові відключення електроенергії в Україні.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •