fix(tradein): cian SERP warm-up GET для seed cookies (_CIAN_GK/_yasc) (T2) #846

Merged
bot-reviewer merged 1 commit from fix/tradein-cian-serp-citywide into main 2026-05-31 06:01:30 +00:00

View file

@ -84,6 +84,25 @@ class CianScraper(BaseScraper):
"Upgrade-Insecure-Requests": "1",
},
)
# Warm-up: посетить homepage чтобы получить сессионные cookies (_CIAN_GK/_yasc)
# и не выглядеть как наглый бот (первый запрос сразу на /cat.php подозрителен).
# Failure не критична — SERP-запросы продолжатся в любом случае.
try:
_warm = await self._cffi.get(f"{self.base_url}/")
logger.info(
"cian warm-up GET / → HTTP %d (cookies=%d)",
_warm.status_code,
len(list(self._cffi.cookies.jar)),
)
# Последующие SERP-запросы выглядят как in-site navigation (Referer = /)
self._cffi.headers.update(
{
"Referer": f"{self.base_url}/",
"Sec-Fetch-Site": "same-origin",
}
)
except Exception:
logger.warning("cian warm-up GET / failed — continuing without seed cookies")
return self
async def __aexit__(self, *args: Any) -> None: