fix(tradein): Avito listing_date extraction (3 формата) #601

Merged
Light1YT merged 1 commit from fix/avito-listing-date-extraction into main 2026-05-27 12:55:28 +00:00

1 commit

Author SHA1 Message Date
cad3b77171 fix(tradein): Avito scraper now extracts listing_date для всех форматов
Real production state: **0/9302 (100%)** Avito listings имели NULL
listing_date. Audit показал regex matched только relative numeric
("5 дней назад") — Avito SERP сейчас использует:
- Keyword shortcuts «сегодня в 12:30», «вчера в 18:45», «позавчера», «только что»
- Absolute «18 мая», «5 июня в 12:30» (year inferred — current, или
  rollback к прошлому году если month в будущем больше чем на 30d)

Changes:
- Expand _parse_relative_date():
  * keyword check first (без \d+ regex match)
  * relative numeric (existing) — без изменений
  * absolute date regex с _RU_MONTHS dict + roll-back на prev year heuristic

Tests: 10/10 pass (4 existing + 6 new). Ruff clean.

Impact: 9302 Avito listings + new daily scrapes теперь будут иметь
listing_date. Это **прямо повысит linkage rate в /sales-vs-listings**
(PR K) с current ~5% до 30%+ (теоретически до 80% при listing_date
плотности).

Existing 9302 NULL — будут пересобраны при следующем full sweep после
deploy. Backfill detail page для each — отдельный operation скрипт
(out of scope, можно через docker exec ad-hoc).

Refs #564 (linkage rate improvement).
2026-05-27 17:55:01 +05:00