Целевой регион стал параметром (--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.