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