lekss361
|
5f92e94695
|
feat(tradein): yandex_newbuilding.py — ЖК landing parser (149 selectors + NLP)
Stage 5 of YandexRealtyScraper v1 (Wave 4 / Worker B — parallel with
yandex_detail.py and yandex_valuation.py).
Module: app/services/scrapers/yandex_newbuilding.py
- YandexNewbuildingScraper(BaseScraper) — fetch_jk(slug, id, city)
URL: /{city}/kupit/novostrojka/<slug>-<id>/
- YandexNewbuildingInfo Pydantic model (ext_id/slug, name, address, lat/lon,
house_class, commission_year/month, total_floors, corpus_count, total_area_ha,
developer_name/url + other_jk, rating + ratings_count + text_reviews_count,
description, metro_stations, house_type)
- Inline coord extraction (Yandex unique: lat/lon visible in raw HTML within
city range filter)
- NLP regex: floors-towers, area-ha, commission date, corpus count (word→int),
rating + counts, metro inline
- Helpers: _find_section_text (h2/h3 → next siblings), _parse_corpus_count
(word/digit), _parse_metro, _extract_jk_address
Tests: 28 unit tests against Татлин-like fixture HTML. All pass. Ruff clean.
|
2026-05-23 16:39:12 +03:00 |
|