infra/@kt-scraper.pc/INFRA-MAP.md

Карта инфраструктуры — Euroauto скрапинг

Обновлено: 2026-04-13


Три узла системы

┌─────────────────────────────────────────────────────────┐
  СЕРВЕР  91.218.142.168  (dev-pro-eu)                   
  Здесь работает Claude Code                             
                                                         
  /opt/claude-workspace/           git-репозиторий      
  /opt/claude-workspace/exchange/  скрипты для kt-PC    
  /mnt/beget-s3/                   S3 смонтирован СЮДА  
  /var/www/html/files/dbchunks/    базы данных SQLite   
└──────────────────────┬──────────────────────────────────┘
                        S3 mount
                       
┌─────────────────────────────────────────────────────────┐
  S3  beget-s3  (fe2c1d30dc11-s3-0kt)                   
  Общее хранилище. Виден ТОЛЬКО с сервера.               
                                                         
  /mnt/beget-s3/dl/          задания ДЛЯ kt-PC         
  /mnt/beget-s3/up/          данные ОТ kt-PC (JSONL)   
  /mnt/beget-s3/exchange/    файлы коннектора (exe)     
  /mnt/beget-s3/projects/    базы данных проектов       
└──────────────────────┬──────────────────────────────────┘
                        BegetExchange коннектор (Windows)
                       
┌─────────────────────────────────────────────────────────┐
  kt-PC  (Windows, ПК оператора)                        
  S3 НЕ смонтирован. Доступ только через коннектор.      
                                                         
  ~/SERVER/dataspace/dl/     синхронизируется с S3 dl/  
  ~/SERVER/dataspace/up/     синхронизируется с S3 up/  
  localhost:9223             Chrome CDP (скрапер)        
└─────────────────────────────────────────────────────────┘

Как работает exchange (скрипты)

Claude пишет скрипт
→ /opt/claude-workspace/exchange/script.sh
→ коннектор подхватывает (смотрит в workspace/exchange через S3 sync)
→ выполняет на kt-PC
→ кладёт результат: /opt/claude-workspace/exchange/YYYYMMDD_HHMMSS_script.log

Важно: скрипты выполняются в контексте kt-PC.
Все пути внутри скрипта — это пути kt-PC, не сервера.


Пути: что где

Что Сервер kt-PC
Скрипты для kt-PC /mnt/beget-s3/dl/ ~/SERVER/dataspace/dl/
JSONL результаты /mnt/beget-s3/up/ ~/SERVER/dataspace/up/
Базы данных (.sqlite) /mnt/beget-s3/projects/lider/... ❌ НЕТ ДОСТУПА
Exchange скрипты /opt/claude-workspace/exchange/ выполняются здесь
Базы для разработки /var/www/html/files/dbchunks/ ❌ НЕТ ДОСТУПА

Критические правила для кода

❌ НЕЛЬЗЯ в скриптах для kt-PC (exchange/*.sh):

# Путь S3 - НЕ существует на kt-PC
DB="/mnt/beget-s3/projects/lider/euroauto/p3_final.sqlite"  # ОШИБКА
ls /mnt/beget-s3/...                                         # ОШИБКА

✅ МОЖНО в скриптах для kt-PC:

# Локальные пути kt-PC
DL="$HOME/SERVER/dataspace/dl"
UP="$HOME/SERVER/dataspace/up"
DB="$DL/p3_final.sqlite"   # если предварительно скопировать туда

# CDP браузер
curl http://localhost:9223/json/version

# Python скрипт из dl/
python3 "$DL/detail_scraper_v4.py" --tabs 8

Если скрипту нужен файл с сервера/S3:

Сервер: cp /mnt/beget-s3/file.txt /opt/claude-workspace/exchange/file.txt
 коннектор синхронизирует в ~/SERVER/dataspace/dl/file.txt
 скрипт читает $HOME/SERVER/dataspace/dl/file.txt

Почему supervisor не запустил remaining

Supervisor был написан с путём:

DB="/mnt/beget-s3/projects/lider/lideravto/euroauto/p3_final.sqlite"

Этот путь существует на сервере, но не на kt-PC.
Когда topbrands завершился — supervisor упал при попытке открыть базу.

Правильный подход:
1. Сервер генерирует remaining_urls.txt из p3_final.sqlite
2. Кладёт его в /opt/claude-workspace/exchange/remaining_urls.txt
3. Коннектор копирует на kt-PC в dl/
4. Supervisor читает $HOME/SERVER/dataspace/dl/remaining_urls.txt


Текущие базы данных

Файл Где Размер Что
p3_final.sqlite /mnt/beget-s3/projects/lider/lideravto/euroauto/ 203 MB 55K деталей, основа
euroauto_enriched.sqlite /var/www/html/files/dbchunks/ 246 MB обогащённая (текущая рабочая)
euroauto_enriched_backup_20260413.sqlite /var/www/html/files/dbchunks/ 246 MB бэкап до чистки
euroauto_scraped.sqlite /var/www/html/files/dbchunks/ 82 MB только скрапинг 14K

JSONL файлы (все на S3 up/)

Файл Строк Что
detail_topbrands_20260411_202800.jsonl 6 225 топ-бренды (96% завершён)
detail_analogs_20260411_*.jsonl ~3 файла аналоги
detail_originals_20260410_*.jsonl ~6 файлов оригиналы
Итого уникальных 17 669 с compat_models: 13 624