Проект аудита отелей: основные скрипты и документация

- Краулеры: smart_crawler.py, regional_crawler.py
- Аудит: audit_orel_to_excel.py, audit_chukotka_to_excel.py
- РКН проверка: check_rkn_registry.py, recheck_unclear_rkn.py
- Отчёты: create_orel_horizontal_report.py
- Обработка: process_all_hotels_embeddings.py
- Документация: README.md, DB_SCHEMA_REFERENCE.md
This commit is contained in:
Фёдор
2025-10-16 10:52:09 +03:00
parent 545e199389
commit 0cf3297290
105 changed files with 28743 additions and 0 deletions

137
PROGRESS_STATUS.md Normal file
View File

@@ -0,0 +1,137 @@
# 📊 ТЕКУЩЕЕ СОСТОЯНИЕ ПРОЕКТА "ОБЩЕСТВЕННЫЙ КОНТРОЛЬ ОТЕЛЕЙ"
**Дата:** 2025-10-11 01:06
**Статус:** В процессе
---
## 🎯 ОБЩИЙ ПРОГРЕСС
```
┌─────────────────────────────────────────────────────────────┐
│ ЭТАП 1: ПАРСИНГ РЕЕСТРА TOURISM.FSA.GOV.RU │
└─────────────────────────────────────────────────────────────┘
[████████████████████████████████████████] 100% ✅ ГОТОВО
✅ 33,773 отелей - базовые данные
⚙️ 10,500 отелей - детальная информация (31.1%)
└─ ETA: ~05:33 утра
└─ 3 параллельных потока активны
┌─────────────────────────────────────────────────────────────┐
│ ЭТАП 2: ФИЛЬТРАЦИЯ САНКТ-ПЕТЕРБУРГА │
└─────────────────────────────────────────────────────────────┘
[████████████████ ] 31.8% ⚙️
📊 Всего: 1,646 отелей
✅ Обработано: 523 отеля
🌐 С сайтами: 367 (70.2%)
🔮 Прогноз к утру: ~1,155 отелей с сайтами
┌─────────────────────────────────────────────────────────────┐
│ ЭТАП 3: КРАУЛИНГ САЙТОВ ОТЕЛЕЙ │
└─────────────────────────────────────────────────────────────┘
[█ ] 0.3% 🧪 ТЕСТ
🧪 Протестировано: 1 отель
📄 Спарсено: 15 страниц
💾 Сохранено: 2.9 MB сырого HTML в PostgreSQL
Извлечено:
✅ 3 телефона
✅ 3 email
✅ Формы обратной связи
✅ Онлайн-бронирование
┌─────────────────────────────────────────────────────────────┐
│ ЭТАП 4: ВЕКТОРИЗАЦИЯ В GRAPHITI │
└─────────────────────────────────────────────────────────────┘
[█ ] 0.3% 🧪 ТЕСТ
🧪 Протестировано: 1 отель
✅ 142 эпизода в Neo4j
✅ 28 сущностей
✅ 165 связей
✅ 104 эмбеддинга (1536-мерных)
✅ Semantic search работает
┌─────────────────────────────────────────────────────────────┐
│ ЭТАП 5: АУДИТ ПО 18 КРИТЕРИЯМ │
└─────────────────────────────────────────────────────────────┘
[ ] 0% 🧪 ТЕСТ
🧪 Протестировано: 8 критериев
✅ Semantic search находит релевантные данные
⚠️ Требуется LLM для точной классификации Да/Нет
Результаты теста:
✅ Контакты: найдены (score 0.349)
✅ ПДн политика: найдена (score 0.377)
✅ Режим работы: найден (score 0.329)
❌ Адрес: не найден
❌ Претензии: не найдено
```
---
## 💾 СТРУКТУРА БАЗЫ ДАННЫХ
### PostgreSQL (147.45.189.234:5432/default_db)
**Основные таблицы:**
- `hotel_main` - 33,773 записей (35 MB)
- `hotel_additional_info` - 10,500 записей
- `hotel_sanatorium` - 340 записей
- `hotel_services` - 165,918 записей
- `hotel_rooms` - 18,825 записей
- `hotel_raw_json` - 10,500 записей (backup)
**Краулинг сайтов:**
- `hotel_website_raw` - 15 страниц (сырой HTML)
- `hotel_website_meta` - 1 отель (метаданные)
- `hotel_website_processed` - 15 страниц (очищенный текст)
### Neo4j Graphiti (localhost:7687)
**Group ID: hotel_spb**
- `Episode` - 142 узла (чанки текста)
- `Entity` - 28 узлов (извлечённые сущности)
- `Relationships` - 165 связей
---
## 🚀 АКТИВНЫЕ ПРОЦЕССЫ
| Процесс | Статус | Прогресс | ETA |
|---------|--------|----------|-----|
| Детальный парсинг (3 потока) | ⚙️ Активен | 31.1% | ~05:33 |
| Universal API (порт 9200) | ✅ Работает | - | - |
| Search API (порт 9100) | ✅ Работает | - | - |
---
## 📋 СЛЕДУЮЩИЕ ШАГИ
1.**Дождаться завершения детального парсинга** (~4 часа)
2. 🌐 **Запустить краулинг всех питерских отелей с сайтами** (~1,155 отелей)
3. 🔮 **Векторизация в Graphiti** (автоматически при краулинге)
4. 🔍 **Аудит по 18 критериям** (semantic search + LLM)
5. 📊 **Экспорт результатов в Excel**
---
**Текущий приоритет:** Запустить краулинг на 5 тестовых отелях для проверки системы?