# Как протестировать улучшенный парсер ## ✅ Шаг 1: Проверка что ничего не сломалось **Протестируй на РЕГИОНАЛЬНОМ суде (существующая функциональность):** 1. Возьми проект с ссылкой вида: `https://example--region.sudrf.ru/...` 2. Запусти парсинг через дизайнер процессов как обычно 3. Проверь что: - ✅ Скрипт отработал без ошибок - ✅ Данные сохранились в БД - ✅ Вернулся корректный JSON ответ 4. Проверь лог `logs/parser.log`: ``` [timestamp] Режим парсера: НОВЫЙ (универсальный) [timestamp] Выбран парсер: RegionalCourtParser ``` **Если что-то пошло не так:** - Посмотри полный лог в `logs/parser.log` - Должен быть fallback: "Переключаемся на старый парсер (fallback)..." - Если fallback сработал - всё равно должно работать! --- ## 🆕 Шаг 2: Проверка московских судов **Протестируй на МОСКОВСКОМ суде (новая функциональность):** 1. Возьми проект со ссылкой вида: `https://mos-gorsud.ru/...` 2. Запусти парсинг через дизайнер процессов 3. Проверь лог `logs/parser.log`: ``` [timestamp] Режим парсера: НОВЫЙ (универсальный) [timestamp] Выбран парсер: MoscowCourtParser [timestamp] Старт парсинга ... (МОСКОВСКИЙ СУД) ``` **Важно:** - Если данные не извлеклись - это нормально для первого раза - Московские суды могут иметь разную структуру HTML - Посмотри в логах что именно было найдено - Пришли мне пример ссылки и лог - доработаю парсер --- ## 🔧 Шаг 3: Тестирование fallback механизма **Принудительно отключи новый парсер:** Добавь параметр в POST запрос: ``` use_new_parser=0 ``` Проверь что: - ✅ Скрипт работает как раньше - ✅ В логе: "Режим парсера: СТАРЫЙ (legacy)" - ✅ Всё работает как до обновления --- ## 📊 Что проверять в логах ### Успешный парсинг (региональный суд): ``` [2025-10-17 10:00:00] ======================================== [2025-10-17 10:00:00] Режим парсера: НОВЫЙ (универсальный) [2025-10-17 10:00:00] Выбран парсер: RegionalCourtParser [2025-10-17 10:00:01] Найдено строк (tr) в div с id 'cont2': 5 [2025-10-17 10:00:01] Найдено событие: Предварительное судебное заседание, Дата: 16.10.2025... [2025-10-17 10:00:01] Данные успешно записаны в таблицу subject для события: ... ``` ### Успешный парсинг (московский суд): ``` [2025-10-17 10:00:00] ======================================== [2025-10-17 10:00:00] Режим парсера: НОВЫЙ (универсальный) [2025-10-17 10:00:00] Выбран парсер: MoscowCourtParser [2025-10-17 10:00:01] Найдено строк (tr) в таблице событий: 8 [2025-10-17 10:00:01] Найдено событие (МСК): Название: ..., Дата: 16.10.2025... ``` ### Fallback сработал: ``` [2025-10-17 10:00:00] ОШИБКА в новом парсере: ... [2025-10-17 10:00:00] Переключаемся на старый парсер (fallback)... [2025-10-17 10:00:01] Старт парсинга ... (СТАРЫЙ ПАРСЕР) ``` --- ## 🐛 Что делать если нашёл баг 1. **Скопируй ссылку** на дело которое не парсится 2. **Скопируй логи** из `logs/parser.log` 3. **Скопируй JSON ответ** скрипта 4. Пришли мне - я исправлю! --- ## 📞 Быстрый откат Если что-то пошло совсем не так: ```bash cd /var/www/fastuser/data/www/crm.clientright.ru cp parscourt_backup_* parscourt.php ``` Или просто добавь в POST параметры: ``` use_new_parser=0 ``` --- ## ✅ Контрольный список - [ ] Протестировал на региональном суде - работает - [ ] Протестировал на московском суде - работает (или понял почему нет) - [ ] Проверил что fallback работает (use_new_parser=0) - [ ] Проверил логи - всё понятно - [ ] Проверил БД - данные сохраняются **Готово! 🎉**