Sber History To Excel

Проект уже развернут на сервере:

https://sber.gb.7af.ru/

Веб-интерфейс выгружает историю операций СберБанк Онлайн за выбранный месяц и скачивает ZIP-архив. Внутри архива лежат:

  • .xlsx с основными полями операций
  • .json со списком всех операций в том виде, в котором они пришли из API

Как пользоваться

  1. Установите расширение Chrome Get cookies.txt LOCALLY.
  2. Откройте СберБанк Онлайн и авторизуйтесь.
  3. Скопируйте cookies через расширение.
  4. Откройте https://sber.gb.7af.ru/.
  5. Вставьте cookies в поле формы.
  6. Выберите месяц и скачайте ZIP-архив.

Формат cookies определяется автоматически. Поддерживаются:

  • Netscape cookies.txt
  • JSON-массив cookies
  • обычный HTTP-заголовок Cookie

После вставки cookies форма сразу проверяет, сможет ли сервер распарсить введенный формат.

Что делает экспорт

  • Получает операции через API истории операций Сбера.
  • Забирает данные постранично.
  • Оставляет только операции за выбранный месяц.
  • Убирает дубли по идентификатору операции.
  • Формирует Excel-файл и JSON со всеми исходными данными операций.
  • Отдает результат ZIP-архивом.

В Excel попадают основные поля операции:

  • дата
  • получатель
  • описание
  • сумма операции
  • валюта
  • сумма в RUB
  • бонусы Спасибо
  • счет
  • остаток после операции
  • статус
  • тип операции
  • код категории
  • ID операции

Безопасность cookies

Cookies дают доступ к аккаунту СберБанк Онлайн в рамках активной сессии. Не сохраняйте их в коде, репозитории или публичных чатах.

В веб-интерфейсе cookies используются для запроса к Сберу и не сохраняются в файлы экспорта.

Возможные ошибки

Если cookies устарели, Сбер может вернуть ошибку авторизации. В этом случае нужно снова войти в СберБанк Онлайн в браузере, скопировать свежие cookies и повторить экспорт.

Если форма пишет, что cookies не удалось распарсить, проверьте, что вы вставили полный текст cookies из расширения.

Технические подробности

Локальный запуск веб-интерфейса

.venv/bin/python web_app.py

После запуска откройте:

http://127.0.0.1:8000

Запуск через Docker Compose

docker compose up --build

После запуска интерфейс будет доступен здесь:

http://127.0.0.1:8000

В Docker файлы экспорта сохраняются в named volume sberhistorytoexcel_sber-history-data. В volume остается только ZIP-архив; временные .xlsx и .json сохраняются только внутри архива.

Остановить контейнер:

docker compose down

Использование из кода

from load_data import SberMonthHistoryExporter

exporter = SberMonthHistoryExporter()
output_path = exporter.save_month(2026, 5, "sber_may_2026.xlsx")

print(output_path)

Можно отдельно получить операции без сохранения:

from load_data import SberMonthHistoryExporter

exporter = SberMonthHistoryExporter()
operations = exporter.fetch_month(2026, 5)

print(len(operations))

Требования для локального запуска

  • Python 3.10+
  • requests

Установка зависимости:

python3 -m pip install requests
Description
No description provided
Readme 57 KiB
Languages
Python 99.3%
Dockerfile 0.7%