fix(tradein/scraper-kit): поднять пол curl-cffi до 0.15.0 — chrome146 в 0.7.0 не существует
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 11s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m27s

DEFAULT_IMPERSONATE переведён на chrome146, но оба pyproject продолжали
объявлять `curl-cffi>=0.7.0`. В 0.7.0 такого профиля нет: установка по
нижней границе — и curl_cffi роняет КАЖДЫЙ запрос скраппера на невалидном
impersonate, причём одинаково для avito, cian и yandex.

На проде стоит 0.15.0 (проверено в контейнере tradein-scraper: профили
chrome99 … chrome146 плюс алиас chrome), поэтому текущий деплой бы не
пострадал — но любая пересборка окружения с резолвом к нижней границе
воспроизвела бы отказ, и диагностировался бы он как «скрапперы легли»,
а не как несогласованная зависимость.

Refs #3034
This commit is contained in:
bot-backend 2026-08-21 17:06:13 +03:00
parent fe628a5e17
commit 4ec3b79704
2 changed files with 5 additions and 2 deletions

View file

@ -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=<profile> для Cian/Avito (TLS fingerprint)
"curl-cffi>=0.15.0", # impersonate=<profile> для 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)

View file

@ -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]