Files
crm.clientright.ru/TEST_PARSER_UPGRADE.md

129 lines
5.1 KiB
Markdown
Raw Permalink Normal View History

# Как протестировать улучшенный парсер
## ✅ Шаг 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)
- [ ] Проверил логи - всё понятно
- [ ] Проверил БД - данные сохраняются
**Готово! 🎉**