Commit graph

5 commits

Author SHA1 Message Date
lekss361
0154c2914a feat(tradein): scrape_pipeline.py — Avito full orchestrator (search → houses → detail)
Stage 2e of AvitoScraper_v2.

- run_avito_pipeline(db, lat, lon, radius_m, *, enrich_houses, enrich_detail_top_n)
- 5-step flow:
  1. SEARCH: AvitoScraper().fetch_around (uses Stage 2a refactored search)
  2. SAVE: save_listings (inserts + tracks house_ext_id from Stage 2a)
  3. GROUP: dedupe house path → unique set (path-only для consistency с fetch_house_catalog)
  4. ENRICH_HOUSES: fetch_house_catalog + save_house_catalog_enrichment (Stage 2c) per unique house
  5. ENRICH_DETAIL: top-N priority listings (detail_enriched_at IS NULL within radius)
     → fetch_detail + save_detail_enrichment (Stage 2b)
- PipelineCounters dataclass: lots_fetched/inserted/updated, unique_houses, houses_enriched/failed,
  detail_attempted/enriched/failed, errors[]
- Graceful degradation: per-house and per-detail try/except — single failure не валит pipeline
- IMV ОТСУТСТВУЕТ — он on-demand (Stage 3 estimator integration), не cron
- pytest offline smoke (3 tests: counters default + search failure graceful + group_by_house dedupe)
- Add pytest-asyncio>=0.24.0 to dev deps + asyncio_mode=auto в pyproject.toml

Refs: AvitoScraper_v2_Implementation_Plan Stage 2e.
2026-05-23 15:45:34 +03:00
5258a8f023 feat(tradein): avito_houses.py — Houses Catalog parser (state + reviews + history + recs) (#449)
All checks were successful
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 44s
Deploy Trade-In / deploy (push) Successful in 19s
2026-05-23 12:37:24 +00:00
9ba776f2ca feat(tradein): cian_state_parser shared utility + ScrapedLot Cian fields (#447)
Some checks failed
Deploy Trade-In / build-backend (push) Blocked by required conditions
Deploy Trade-In / build-frontend (push) Blocked by required conditions
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Has been cancelled
2026-05-23 12:35:01 +00:00
7cdde30b13 feat(tradein): avito_detail.py — detail page parser (30+ fields incl. domoteka) (#443)
All checks were successful
Deploy Trade-In / changes (push) Successful in 6s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 38s
Deploy Trade-In / deploy (push) Successful in 17s
2026-05-23 12:17:15 +00:00
6a2f734356 feat(tradein): avito_imv.py — Avito IMV evaluation API client (2 requests) (#444)
Some checks failed
Deploy Trade-In / deploy (push) Blocked by required conditions
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been cancelled
2026-05-23 12:16:47 +00:00