Импорт сырья msk_raw умеет Московскую область, а не только Москву #3505

Merged
lekss361 merged 1 commit from feat/msk-raw-import-region-50 into main 2026-09-12 14:49:08 +00:00

1 commit

Author SHA1 Message Date
bot-backend
050a133839 Импорт сырья msk_raw умеет Московскую область, а не только Москву
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 11s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m40s
Целевой регион стал параметром (--region, 77 по умолчанию). Поведение Москвы
осталось байт-в-байт: её карточки Циана по-прежнему опознаются префиксом округа,
Яндекса — вторым компонентом адреса, ДомКлика — первым.

Область у Циана в адресе не видна вовсе, поэтому берётся по поддомену source_url.
Замер по прод-сырью 12.09.2026: поддомен www даёт 38 030 карточек, из них 36 569 с
префиксом округа; все прочие поддомены (krasnogorsk, balashikha, vidnoye, lyubertsy,
khimki, mytishchi, podolsk, odintsovo и ещё полсотни) — ноль карточек с округом.
Два сигнала нигде не противоречат друг другу, поэтому Москва остаётся на округе, а
область читается из URL. Нераспознанный хост даёт None и трактуется как «не область»
— ложной области он не создаёт.

У Яндекса область — второй компонент адреса, значений ровно два: Москва 13 287 и
Московская область 10 865. У Авито регион приходит из пред-геокода, и полка
msk_raw.avito_geocode уже содержит 9 840 строк с регионом 50, так что прогон по
области не стоит ни одного внешнего вызова. У ДомКлика областного корпуса нет вовсе
— сырьё собрано с GUID-ом Москвы, поэтому --region 50 падает явной ошибкой, а не
отдаёт тихий ноль.

В listings.city для области пишется None: единого города у неё нет (canonical_city в
реестре пуст), а save_listings COALESCE'ит city и уже известное значение не затирает.
Подбор аналогов радиусный, ценовая полоса ДКП ключуется на deals.city, так что потери
нет.

Счётчики переименованы под параметр: skipped_not_moscow стал skipped_not_target_region,
skipped_oblast — skipped_geo_other_region.
2026-09-12 17:25:07 +03:00