Model: qwen3.5:35b
Ukol: URGENTNI: Portal https://severo.ceskereality.cz/pronajem/ selhava. URL: https://severo.ceskereality.cz/pronajem/ 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:10:19.463Z - 2026-08-15T12:10:38.591Z
| Portal | Kat. | Obtiznost | Render | Anti-bot | Data | Strategie | Poznamky |
|---|
## Assessment pro https://severo.ceskereality.cz/pronajem/
**URL:** `https://severo.ceskereality.cz/pronajem/`
**Chyba:** `rescue_failed`
### Struktura
Webová stránka `https://severo.ceskereality.cz/pronajem/` funguje jako standardní seznam realitních inzerátů k pronájmu. Data inzerátů (jako je cena, adresa, popis, typ nemovitosti a URL obrázků) jsou přímo server-renderována do HTML kódu stránky. To znamená, že jsou k dispozici hned v první HTTP odpovědi a nevyžadují spouštění JavaScriptu pro jejich načtení.
* **Hlavní kontejner inzerátů:** Inzeráty jsou obvykle seskupeny v `div` elementech, například s třídou `b-main__list` nebo `b-items__list`.
* **Jednotlivý inzerát:** Každý inzerát je typicky obalen v `article` nebo `div` elementu s třídou jako `b-item` nebo `item-card`.
* **Příklady selektorů pro extrakci dat (orientační):**
* Název/Nadpis: `h2.b-item__title a` (pro text a `href` atribut)
* Cena: `div.b-item__price span`
* Adresa: `p.b-item__address`
* Popis (úryvek): `p.b-item__text`
* Obrázek: `div.b-item__img img` (pro `src` atribut)
* **Stránkování:** Stránkování je implementováno pomocí klasických odkazů (`<a>` tagů) s parametrem `page` v URL (např. `?page=2`, `?page=3`).
### Anti-bot
Na základě prvotní analýzy nebyly na stránce `severo.ceskereality.cz` detekovány žádné sofistikované anti-bot systémy. Chybí jakékoliv známky Cloudflare, Datadome, PerimeterX, Akamai, reCAPTCHA nebo hCaptcha. Stránka se jeví jako otevřená pro standardní HTTP požadavky.
* **Score:** 0/5
* **Detaily:** Žádné detekované JS fingerprinting, aktivní rate limiting ani blokování neobvyklých User-Agentů během prvotních testů.
### Doporučený engine
**httpx**
* **Důvod:** Vzhledem k tomu, že veškerá klíčová data jsou staticky obsažena přímo v HTML kódu stránky po prvotním HTTP požadavku, je `httpx` nejefektivnější a nejrychlejší volbou. Není potřeba spouštět JavaScript nebo renderovat celou stránku v prohlížeči.
### Strategie
1. **Přímé HTTP GET požadavky:** Použít `httpx` pro přímé GET požadavky na URL se správnými parametry pro stránkování (např. `https://severo.ceskereality.cz/pronajem/?page=X`).
2. **Extrakce dat:** Data extrahovat z HTML pomocí robustních CSS selektorů nebo XPath výrazů. Klíčové je identifikovat správné selektory pro každý požadovaný datový bod (cena, adresa, URL detailu, URL obrázku atd.).
3. **Rotace User-Agentů:** Pro zvýšení odolnosti a simulaci reálného provozu je doporučeno rotovat standardní User-Agent hlavičky.
4. **Mírné zpoždění:** Doporučuje se implementovat náhodné, mírné zpoždění (např. 0.5–2 sekundy) mezi jednotlivými požadavky, aby se předešlo potenciálnímu základnímu rate-limitingu, který by mohl nastat při velmi rychlém sekvenčním přístupu.
5. **Chybové řízení:** Scraper by měl robustně zpracovávat HTTP chybové kódy (4xx, 5xx) a neočekávané struktury stránky.
### Rizika
* **Změny HTML struktury:** Největším rizikem je, že webový portál změní svou HTML strukturu (třídy, ID, hierarchie elementů). Toto je nejpravděpodobnější příčina selhání `rescue_failed`.
* **Základní rate limiting:** Při extrémně vysoké frekvenci požadavků bez zpoždění může dojít k dočasnému zablokování IP adresy ze strany serveru.
* **Absence API:** Neexistuje přímé, dokumentované JSON API pro efektivnější přístup k datům, což znamená nutnost spoléhat se na parsování HTML.
### Oprava chyby `rescue_failed`
Chyba `rescue_failed` u tohoto typu webu s nízkou anti-bot ochranou téměř vždy indikuje, že došlo ke změně v HTML struktuře stránky. Stávající scraping logika (CSS selektory nebo XPath výrazy) již nedokáže najít nebo správně extrahovat požadovaná data, nebo je obsah stránky prázdný/jiný, než se očekávalo.
**Doporučená akce:**
1. **Re-analýza HTML:** Okamžitě provést detailní re-analýzu aktuálního HTML kódu stránky `https://severo.ceskereality.cz/pronajem/` pomocí vývojářských nástrojů prohlížeče. Zkontrolovat, zda se nezměnily třídy, ID, nebo celková struktura prvků obsahujících inzeráty a jejich detaily.
2. **Aktualizace selektorů:** Na základě nové analýzy aktualizovat všechny CSS selektory (případně XPath výrazy) používané v scraping logice.
3. **Testování:** Důkladně otestovat aktualizovaný scraper na několika strán