gendesign/tradein-mvp/backend
lekss361 e070f06c26 refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row
Live HTML recon discovered stable BEM-style classes. Each history item is a
.OffersArchiveSearchOffers__row with 6 positional cells: area+rooms, floor,
start_price+ppm2, last_price+ppm2, publish_date+exposure, status/removed_date.

Drops chunked-text fallback as primary strategy (kept as last-resort with
warning log). Eliminates 3 PRs of regex whack-a-mole (#538/#541/#542):
- area = year+area concat → impossible with cell isolation
- area = sub-fragment '2,2' → impossible
- date inversion → cell [4] is always publish, cell [5] is always removed
- 1-комн/2-комн/3-комн all parsed identically

Re-sweep Базовый 52 should now hit ~90%+ plausible area_filled vs 8.7%
from PR #542.
2026-05-24 19:20:20 +03:00
..
app refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row 2026-05-24 19:20:20 +03:00
data/sql feat(tradein): Phase C — Avito IMV per-house backfill (SQL + script) (#534) 2026-05-24 14:50:31 +00:00
tests refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row 2026-05-24 19:20:20 +03:00
.dockerignore feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
Dockerfile feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
pyproject.toml fix(tradein-photos): sanitize uploaded images via Pillow re-encode (#511) 2026-05-24 11:32:04 +00:00