[tradein][bug] Avito Houses Catalog parser сломан — merge pending fix/avito-houses-preloaded-state-url-encoded #566

Closed
opened 2026-05-25 06:02:33 +00:00 by lekss361 · 0 comments
Owner

Проблема

Avito изменил формат window.__preloadedState__ на странице каталога домов — теперь URL-encoded JSON + новая структура widget tree (flattened/nested).

Status

Локальная ветка fix/avito-houses-preloaded-state-url-encoded готова (commit f5e3458). Diff:

  • backend/app/services/scrapers/avito_houses.py:
    • Новый regex PRELOADED_RE_URL_ENCODED для %7B...%7D формата
    • Хелперы _flatten_widgets(), _unwrap_props() — handle old и new format
    • ratingPreview поддержка (был ratingBadge)

Что сделать

  1. Push в forgejo, PR.
  2. Review.
  3. Merge.
  4. Backfill avito_houses для тех house_id где preloaded_state IS NULL.

Acceptance

  • POST /api/v1/admin/scrape/avito-house?house_id=... отдаёт 200 + valid payload (rating, year_built, floors).
  • Поле rating заполнено ≥ 70% свежих houses.

Refs

  • fixes/Bug_Avito_Imv_Houses_Catalog_Broken_OPEN
## Проблема Avito изменил формат `window.__preloadedState__` на странице каталога домов — теперь URL-encoded JSON + новая структура widget tree (flattened/nested). ## Status Локальная ветка `fix/avito-houses-preloaded-state-url-encoded` готова (commit `f5e3458`). Diff: - `backend/app/services/scrapers/avito_houses.py`: - Новый regex `PRELOADED_RE_URL_ENCODED` для `%7B...%7D` формата - Хелперы `_flatten_widgets()`, `_unwrap_props()` — handle old и new format - `ratingPreview` поддержка (был `ratingBadge`) ## Что сделать 1. Push в forgejo, PR. 2. Review. 3. Merge. 4. Backfill `avito_houses` для тех `house_id` где preloaded_state IS NULL. ## Acceptance - `POST /api/v1/admin/scrape/avito-house?house_id=...` отдаёт 200 + valid payload (rating, year_built, floors). - Поле `rating` заполнено ≥ 70% свежих houses. ## Refs - `fixes/Bug_Avito_Imv_Houses_Catalog_Broken_OPEN`
lekss361 added the
scrapers
tradein
bug
labels 2026-05-25 06:02:33 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#566
No description provided.