fix(tradein/cian): ad-hoc ручка detail отвечает 502 на блок узла, а не 500 (#2700)
All checks were successful
CI / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 9s
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 4m1s
All checks were successful
CI / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 9s
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 4m1s
Побочный эффект предыдущего коммита: 403 стал исключением, и POST /scrape/cian-detail уронил бы его наружу необработанным. «Страницу не разобрали» (404) и «нас не пустили с этого узла» (502) — разные новости для того, кто дёргает ручку руками. Refs #2700
This commit is contained in:
parent
51a53cd173
commit
7acefc0c9d
1 changed files with 8 additions and 1 deletions
|
|
@ -1904,9 +1904,16 @@ async def scrape_cian_detail(
|
|||
Without it → debug-only (no DB write).
|
||||
"""
|
||||
_assert_allowed_url(offer_url)
|
||||
from scraper_kit.cian_exceptions import CianBlockedError
|
||||
from scraper_kit.providers.cian.detail import fetch_detail, save_detail_enrichment
|
||||
|
||||
enrichment = await fetch_detail(offer_url, config=RealScraperConfig())
|
||||
try:
|
||||
enrichment = await fetch_detail(offer_url, config=RealScraperConfig())
|
||||
except CianBlockedError as exc:
|
||||
# #2700: 403 теперь исключение (узел снимается с выдачи Циану). Ad-hoc ручке
|
||||
# нужен внятный ответ, а не 500: «страницу не разобрали» и «нас не пустили с
|
||||
# этого узла» — разные новости для того, кто дёргает ручку руками.
|
||||
raise HTTPException(502, f"Cian заблокировал наш узел: {exc}") from exc
|
||||
if enrichment is None:
|
||||
raise HTTPException(404, f"Could not parse Cian detail page: {offer_url}")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue