Перейти к содержимому
N1
Интеграции · госпортал без API

Поиск судебных дел на портале без публичного API

Клиент: sattar.kz Категория: Интеграции Стек: PHP, cURL, DOMDocument/DOMXPath, эмуляция сессии JSF Срок: 1–2 недели
Проблема

В sattar.kz нужен был программный поиск судебных дел контрагентов на государственном портале судов — у портала нет публичного API, только устаревший веб-интерфейс на JSF/RichFaces.

Ограничения

Портал построен на legacy Java/JSF-стеке без REST: служебные идентификаторы формы и вёрстка нестабильны между релизами портала, авторизация держится на состоянии сессии.

Что сделал
  • Эмуляция браузерной сессии: cookie jar + обработка JSF ViewState и Ajax partial-response
  • Авторизация и поиск дел по стороне процесса с фильтрами по суду и году
  • DOMXPath-парсер результатов с каскадом селекторов и fallback-стратегиями на случай изменения вёрстки
  • Дедупликация результатов и отдача структурированного JSON вместо сырого HTML
  • Конфигурация вынесена в константы для быстрой перенастройки без правки логики парсинга
Архитектура
Портал суда (JSF/RichFaces) Эмуляция сессии XPath-парсер JSON API
Результат

Поиск дел по контрагенту стал программным JSON-запросом вместо ручного похода на портал — с устойчивостью к мелким изменениям вёрстки за счёт fallback-парсинга.

Что можно переиспользовать
Паттерн эмуляции legacy JSF-портала без REST API XPath-парсинг с graceful fallback при изменении вёрстки Дедупликация результатов скрейпинга