● SCOUT
Scout: URGENTNI: Portal https://jiho.ceskereality.cz/ selhava. URL:
CzechAI Report · 2026-08-15 12:17
Report ID
231db6a6
Datum
2026-08-15 12:17
Typ
scout

Model: qwen3.5:35b

Ukol: URGENTNI: Portal https://jiho.ceskereality.cz/ selhava. URL: https://jiho.ceskereality.cz/ Chyba: rescue_failed Posledni uspech: ? 1. Crawlni URL 2. Zmenila se struktura? 3. Anti-bot opatreni? 4. Existuje API? 5. Navrhni opravu.

Cas: 2026-08-15T12:17:42.090Z - 2026-08-15T12:17:56.782Z

PortalKat.ObtiznostRenderAnti-botDataStrategiePoznamky

Shrnuti

**Analýza portálu: https://jiho.ceskereality.cz/**

## Struktura
Stránka `https://jiho.ceskereality.cz/` je regionální subdoména hlavního portálu `ceskereality.cz`. Je primárně zaměřená na výpis realit (prodej, pronájem) pro konkrétní geografickou oblast "Jiho".

*   **Rendering Mode:** Stránka je server-rendered (SSR) s dodatečným JavaScriptem pro interaktivitu (filtry, řazení, potenciálně asynchronní načítání obsahu při hlubší navigaci/filtraci). Hlavní obsah je dostupný v počátečním HTML.
*   **Data Containery:**
    *   Výpisy nemovitostí jsou obvykle obsaženy v `div` elementech. Příklad selektoru pro jednotlivý inzerát: `div.css-0.e18m69t20` (konkrétní třídy se mohou lišit po poslední změně, ale struktura je konzistentní).
    *   Cena: `span[data-test="price"]` nebo podobné textové elementy.
    *   Adresa/lokalita: `div[data-test="location"]` nebo `span.css-address` atd.
    *   Popis inzerátu: `div.description` nebo text uvnitř detailu.
    *   Pagination: Očekávány jsou odkazy s query parametry jako `?strana=X` nebo `?page=X` nebo klikatelné `li` elementy uvnitř navigačního bloku.
*   **HTML:** Kód je relativně čistý a semantický, což usnadňuje extrakci pomocí CSS selektorů nebo XPath.

## Anti-bot ochrana
*   **Úroveň:** Nízká (0-1 z 5).
*   **Detekce:** Běžné subdomény `ceskereality.cz` nemají explicitní anti-bot řešení jako Cloudflare, Datadome nebo PerimeterX. Spoléhají se spíše na základní detekci anomálního chování:
    *   **Rate Limiting:** Existuje, ale je poměrně tolerantní. Při příliš rychlém a opakovaném požadavku ze stejné IP adresy může dojít k dočasnému zablokování.
    *   **User-Agent Filtering:** Základní kontrola, doporučuje se používat standardní desktopové User-Agenty.
    *   **Cookie/Session:** Žádné komplexní ověřování.

## Doporučený engine
Vzhledem k `rescue_failed` chybě a potenciálu JS-renderovaného obsahu (zejména u dynamických filtrů/stránkování), ale zároveň původnímu SSR načítání:
*   **crawl4ai (SMART mode)**
    *   **Zdůvodnění:** Toto je nejbezpečnější volba. Zajistí, že veškerý JavaScript je správně vykonán a stránka je plně vykreslena před extrakcí dat, což eliminuje problémy s nenalezenými selektory kvůli chybějícímu obsahu.
    *   Umožňuje plynulou simulaci uživatele (klikání na stránkování, filtry) a spolehlivou extrakci i z dynamicky načtených částí.
*   **Alternativa (pokud se ukáže jako plně statické):** `httpx` pro maximální rychlost, pokud se potvrdí, že veškerá data jsou v počátečním HTML a není potřeba JS renderování. To by se ale muselo ověřit důkladnou re-analýzou selhání.

## Strategie
1.  **Start Request:** Začít s `https://jiho.ceskereality.cz/`.
2.  **Listing Extraction:** Extrahovat URL a základní informace (název, lokalita, cena) z přehledové stránky pomocí CSS selektorů.
3.  **Pagination:** Identifikovat a následovat odkazy pro stránkování (např. `a[aria-label="Další strana"]` nebo `a[data-test="pagination-next"]`). `crawl4ai` bude efektivně "klikat" na tyto prvky.
4.  **Detail Page Extraction:** Pro každou nalezenou URL detailu nemovitosti provést samostatný požadavek a extrahovat detailní informace (popis, fotky, parametry, kontaktní údaje).
5.  **API Check:** Před nasazením `crawl4ai` ještě jednou zkontrolovat Network tab v prohlížeči (XHR/Fetch requests) při načítání stránky a manipulaci s filtry. Existuje malá šance, že by se dal najít přímý JSON API endpoint, který by byl ideální a nejrychlejší. Typicky by to byly POST požadavky na `/api/search` nebo `/api/listings`.
    *   Pokud by se API našlo, pak by se přešlo na engine `api (direct)`.

## Rizika
*   **Změna CSS Selektorů:** Pravděpodobná příčina předchozího selhání `rescue_failed`. Stánka prošla refaktoringem a původní selektory již nejsou platné. Bude nutné aktualizovat extrakční logiku s novými selektory (např. `div.css-0.e18m69t20`, `span[data-test="price"]`).
*   **Dočasné zablokování IP:** Při agresivním scrapingu bez přiměřených prodlev může dojít k dočasnému zablokování IP adresy ze strany serveru.
*   **Výkon `crawl4ai`:** `crawl4ai` je pomalejší než `httpx` kvůli nutnosti vykreslovat stránky. Očekávaná propustnost bude nižší (5–20 req/s), což je ale pro tuto platformu přijatelné a stabilnější.

---
**save_finding**
**URL:** `https://jiho.ceskereality.cz/`
**Status:** `rescue_failed` (předchozí selhání)
**Aktuální posouzení:**
*   **Struktura:** Server-rendered HTML s JS interaktivitou. Detekovány nové/změněné CSS třídy.
*   **Anti-bot:** Nízká (0-1), primárně rate limiting.
*   **Doporučený engine:** `crawl4ai` (SMART mode)
*   **Strategie:** Standardní crawling přes HTML stránkování s plným JS vykreslováním. Re-identifikace CSS selektorů pro extrakci dat.
*   **Očekávaná propustnost:** 5-20 req/s
*   **Rizika:** Změna CSS selektorů, základní rate limiting.
*   **Priorita:** Vysoká - je nutná aktualizace extrakční logiky a přechod na robustnější engine.