Автоматический сбор данных со страницы «Счета» сайта www.xxx ****

Tarea técnica

Необходимо разработать программу, которая автоматически получает данные со страницы:

cash.dmed.uz/cash/invoices

Сейчас данные отображаются постранично (pagination), и для перехода на следующую страницу необходимо нажимать кнопку > .

Мне необходимо полностью автоматизировать этот процесс.

Программа должна самостоятельно переходить со страницы на страницу и собирать все записи без ручного нажатия кнопок.

Какие данные необходимо получать

Для каждого счёта необходимо собрать:

  1. № счёта
  2. Пациент
  3. Дата и время
  4. Категория прайс-листа
  5. Сумма (сум)
  6. Статус
  7. Принял(а) оплату
  8. Тип визита

При возможности желательно также получать дополнительные данные из карточки конкретного счёта.

Фильтрация

Должна быть возможность задавать:

  • дату начала;
  • дату окончания;
  • статус;
  • страховые/не страховые;
  • другие доступные фильтры сайта.

Например:

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 должен предоставить:

  1. Рабочую программу.
  2. Исходный код.
  3. Инструкцию по запуску.
  4. Экспорт в Excel/CSV.
  5. Автоматическую обработку pagination.
  6. Возможность загрузки большого количества записей.
  7. Авторизацию.
  8. Обработку ошибок.
  9. Тестирование на реальном количестве данных.
  10. Краткую инструкцию пользователя.

Важно

Изменять интерфейс сайта не требуется.

Необходимо только автоматизировать получение данных из существующего интерфейса.

Перед началом разработки freelancer должен проверить структуру сайта и определить, возможно ли получать данные напрямую через API.











Han respondido

1
Desarrollador 1
Evaluación
(640)
Proyectos
748
34%
Arbitraje
49
53% / 39%
Caducado
14
2%
Trabaja
2
Desarrollador 2
Evaluación
(5)
Proyectos
6
83%
Arbitraje
0
Caducado
0
Libre
Ha publicado: 4 ejemplos
3
Desarrollador 3
Evaluación
(176)
Proyectos
272
63%
Arbitraje
4
50% / 25%
Caducado
10
4%
Trabaja
4
Desarrollador 4
Evaluación
(175)
Proyectos
189
33%
Arbitraje
5
60% / 20%
Caducado
3
2%
Libre
Ha publicado: 3 ejemplos
5
Desarrollador 5
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
6
Desarrollador 6
Evaluación
(24)
Proyectos
35
40%
Arbitraje
9
22% / 33%
Caducado
5
14%
Trabajando
Ha publicado: 8 artículos, 35 ejemplos
7
Desarrollador 7
Evaluación
(216)
Proyectos
283
20%
Arbitraje
28
57% / 14%
Caducado
0
Trabaja
8
Desarrollador 8
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
9
Desarrollador 9
Evaluación
(2)
Proyectos
7
0%
Arbitraje
3
0% / 33%
Caducado
1
14%
Trabaja
10
Desarrollador 10
Evaluación
(298)
Proyectos
478
40%
Arbitraje
105
40% / 24%
Caducado
82
17%
Trabajando
Ha publicado: 2 ejemplos
11
Desarrollador 11
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
12
Desarrollador 12
Evaluación
(94)
Proyectos
162
40%
Arbitraje
20
15% / 75%
Caducado
73
45%
Libre
Ha publicado: 3 ejemplos
13
Desarrollador 13
Evaluación
(6)
Proyectos
11
18%
Arbitraje
2
0% / 100%
Caducado
1
9%
Libre
14
Desarrollador 14
Evaluación
(81)
Proyectos
112
56%
Arbitraje
6
83% / 17%
Caducado
5
4%
Libre
15
Desarrollador 15
Evaluación
(21)
Proyectos
35
54%
Arbitraje
8
63% / 38%
Caducado
1
3%
Libre
16
Desarrollador 16
Evaluación
(1)
Proyectos
2
0%
Arbitraje
0
Caducado
1
50%
Libre
17
Desarrollador 17
Evaluación
(64)
Proyectos
145
46%
Arbitraje
21
38% / 24%
Caducado
32
22%
Libre
18
Desarrollador 18
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
19
Desarrollador 19
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre

Información sobre el proyecto

Presupuesto
30+ USD