diff --git a/tradein-mvp/backend/pyproject.toml b/tradein-mvp/backend/pyproject.toml index 580e251a..8116d3fc 100644 --- a/tradein-mvp/backend/pyproject.toml +++ b/tradein-mvp/backend/pyproject.toml @@ -20,7 +20,10 @@ dependencies = [ "lxml>=5.0.0", # стриминговый iterparse для многогигабайтных ГАР XML (#143) "segno>=1.6.0", # QR-код для PDF shareable URL "matplotlib>=3.9.0", # price-range chart (SVG) для PDF отчёта Trade-In - "curl-cffi>=0.7.0", # impersonate= для Cian/Avito (TLS fingerprint) + "curl-cffi>=0.15.0", # impersonate= для Cian/Avito (TLS fingerprint). + # Пол 0.15.0, а не 0.7.0: DEFAULT_IMPERSONATE=chrome146, а этот + # профиль появился позже 0.7.0 — установка по нижней границе + # роняла бы КАЖДЫЙ запрос скраппера на невалидном impersonate. "python-multipart>=0.0.9", # FastAPI UploadFile — загрузка фото квартиры (#394) "sentry-sdk>=2.0.0", # мониторинг ошибок → GlitchTip (#396) "redis>=5.0.0", # async hot cache для /api/v1/search (Phase 3.2) diff --git a/tradein-mvp/packages/scraper-kit/pyproject.toml b/tradein-mvp/packages/scraper-kit/pyproject.toml index 494e89d8..dc82b236 100644 --- a/tradein-mvp/packages/scraper-kit/pyproject.toml +++ b/tradein-mvp/packages/scraper-kit/pyproject.toml @@ -10,7 +10,7 @@ dependencies = [ "httpx[socks]>=0.27.0", "tenacity>=9.0.0", "selectolax>=0.3.0", - "curl-cffi>=0.7.0", + "curl-cffi>=0.15.0", # пол задан профилем chrome146 из DEFAULT_IMPERSONATE, см. providers/_base.py ] [build-system]