2025-09-30 19:54:37 +03:00
|
|
|
|
# Парсер судебных документов
|
|
|
|
|
|
|
|
|
|
|
|
Скрипт для извлечения структурированных данных из судебных документов.
|
|
|
|
|
|
|
|
|
|
|
|
## Файлы
|
|
|
|
|
|
|
|
|
|
|
|
- `court_document_parser.py` - основной скрипт парсера
|
|
|
|
|
|
- `court_parser_api.py` - API endpoint для вызова из n8n
|
|
|
|
|
|
- `test_input.json` - пример входных данных
|
|
|
|
|
|
|
|
|
|
|
|
## Использование
|
|
|
|
|
|
|
|
|
|
|
|
### 1. Прямой вызов скрипта
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Чтение из файла
|
|
|
|
|
|
python3 court_document_parser.py --input input.json --output output.json
|
|
|
|
|
|
|
|
|
|
|
|
# Чтение из stdin, вывод в stdout
|
|
|
|
|
|
echo '{"combinedText": "..."}' | python3 court_document_parser.py --stdin --stdout
|
|
|
|
|
|
|
|
|
|
|
|
# Чтение из файла, вывод в stdout
|
|
|
|
|
|
python3 court_document_parser.py --input input.json --stdout
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. Вызов через API endpoint (для n8n)
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Чтение из stdin, вывод в stdout
|
|
|
|
|
|
echo '{"combinedText": "..."}' | python3 court_parser_api.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. Вызов из n8n через SSH
|
|
|
|
|
|
|
|
|
|
|
|
В n8n используйте SSH node со следующими параметрами:
|
|
|
|
|
|
- **Command**: `python3 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/court_parser_api.py`
|
|
|
|
|
|
- **Input**: JSON с полем `combinedText`
|
|
|
|
|
|
|
|
|
|
|
|
## Формат входных данных
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
[
|
|
|
|
|
|
{
|
|
|
|
|
|
"combinedText": "Текст судебного документа..."
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Формат выходных данных
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
[
|
|
|
|
|
|
{
|
|
|
|
|
|
"case_number": "М-5071/2025",
|
|
|
|
|
|
"execution_number": null,
|
|
|
|
|
|
"uid": "50RS0052-01-2025-007323-70",
|
|
|
|
|
|
"court": "Щелковский городской суд",
|
|
|
|
|
|
"plaintiff": "Соколов Александр Владимирович",
|
|
|
|
|
|
"defendant": "ООО СКИЛБОКС",
|
|
|
|
|
|
"document_type": "ОПРЕДЕЛЕНИЕ",
|
|
|
|
|
|
"document_date": "26 августа 2025 г.",
|
|
|
|
|
|
"judge": "Пикулева Т.И.",
|
|
|
|
|
|
"raw_text": "Исходный текст документа...",
|
|
|
|
|
|
"extraction_timestamp": "2025-09-30T15:55:40.803597"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Извлекаемые поля
|
|
|
|
|
|
|
|
|
|
|
|
- **case_number** - номер дела
|
|
|
|
|
|
- **execution_number** - номер исполнительного листа
|
|
|
|
|
|
- **uid** - уникальный идентификатор (УИД)
|
|
|
|
|
|
- **court** - название суда
|
|
|
|
|
|
- **plaintiff** - ФИО истца
|
|
|
|
|
|
- **defendant** - ФИО/название ответчика
|
|
|
|
|
|
- **document_type** - тип документа (ОПРЕДЕЛЕНИЕ, РЕШЕНИЕ, и т.д.)
|
|
|
|
|
|
- **document_date** - дата документа
|
|
|
|
|
|
- **judge** - ФИО судьи
|
|
|
|
|
|
|
|
|
|
|
|
## Пример использования в n8n
|
|
|
|
|
|
|
|
|
|
|
|
1. Создайте SSH node
|
|
|
|
|
|
2. Настройте подключение к серверу
|
|
|
|
|
|
3. Установите команду: `python3 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/court_parser_api.py`
|
|
|
|
|
|
4. Передайте JSON с полем `combinedText` в stdin
|
|
|
|
|
|
5. Получите структурированные данные в stdout
|
|
|
|
|
|
|
|
|
|
|
|
## Тестирование
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Тест с примером
|
|
|
|
|
|
python3 court_document_parser.py --input test_input.json --stdout
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Требования
|
|
|
|
|
|
|
|
|
|
|
|
- Python 3.6+
|
|
|
|
|
|
- Стандартные библиотеки Python (json, re, sys, argparse, datetime, typing)
|
2025-10-16 11:17:21 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|