Şartname
Необходимо разработать программу, которая автоматически получает данные со страницы:
cash.dmed.uz/cash/invoices
Сейчас данные отображаются постранично (pagination), и для перехода на следующую страницу необходимо нажимать кнопку > .
Мне необходимо полностью автоматизировать этот процесс.
Программа должна самостоятельно переходить со страницы на страницу и собирать все записи без ручного нажатия кнопок.
Какие данные необходимо получать
Для каждого счёта необходимо собрать:
- № счёта
- Пациент
- Дата и время
- Категория прайс-листа
- Сумма (сум)
- Статус
- Принял(а) оплату
- Тип визита
При возможности желательно также получать дополнительные данные из карточки конкретного счёта.
Фильтрация
Должна быть возможность задавать:
- дату начала;
- дату окончания;
- статус;
- страховые/не страховые;
- другие доступные фильтры сайта.
Например:
01.08.2026 — 31.08.2026
После установки фильтра программа должна автоматически получить все счета за указанный период.
Ключевое требование
Программа должна:
- автоматически определять количество страниц;
- автоматически переходить на следующую страницу;
- проходить все страницы;
- собирать все записи;
- не требовать ручного нажатия кнопки > ;
- не пропускать записи;
- не создавать дубликаты.
Пример результата
Данные необходимо выгружать в Excel (.xlsx) или CSV.
Пример:
| № счёта | Пациент | Дата и время | Категория | Сумма | Статус | Принял оплату | Тип визита |
|---|---|---|---|---|---|---|---|
| 6720396 | АЛИБ*** СОЖ*** | 31.08.2026 21:24 | Экстренный | ... | Оплачен | ... | Амбулатория |
| 6718207 | XURR*** MUN*** | 31.08.2026 17:29 | Экстренный | ... | Оплачен | ... | Стационар |
Большой объём данных
На странице сейчас может отображаться, например:
Всего счетов: 13 343
Программа должна уметь автоматически получить все 13 343 записи, а не только данные первой страницы.
Авторизация
Программа должна поддерживать авторизацию пользователя на сайте.
Логин и пароль желательно вводить пользователем самостоятельно либо хранить в защищённом конфигурационном файле.
Передавать пароль в исходном коде не требуется.
Техническая реализация
Допускается использование:
- Python + Playwright;
- Python + Selenium;
- API сайта;
- HTTP requests;
- другого подходящего решения.
При наличии официального/внутреннего API сайта предпочтительно использовать API вместо имитации нажатия кнопки > в браузере.
Freelancer должен сначала проверить, имеются ли у сайта API-запросы для загрузки счетов и pagination.
Обработка ошибок
При временном сбое сети или сайта программа должна:
- повторять запрос;
- не терять уже полученные данные;
- сохранять прогресс;
- продолжать загрузку после восстановления соединения.
Результат работы
Freelancer должен предоставить:
- Рабочую программу.
- Исходный код.
- Инструкцию по запуску.
- Экспорт в Excel/CSV.
- Автоматическую обработку pagination.
- Возможность загрузки большого количества записей.
- Авторизацию.
- Обработку ошибок.
- Тестирование на реальном количестве данных.
- Краткую инструкцию пользователя.
Важно
Изменять интерфейс сайта не требуется.
Необходимо только автоматизировать получение данных из существующего интерфейса.
Перед началом разработки freelancer должен проверить структуру сайта и определить, возможно ли получать данные напрямую через API.

