Projekt „Nový hledač“
Stahování – problémy


Základní úlohy – problémy

Práce s WWW adresami.
User-agent
Time-out při stahování.
Maximální délka stažených dat.
Převod do UTF8 (DetectEncodingFromByteOrderMarks).

Otázky a odpovědi

Používat název WWW adresa nebo URL?

WWW adresy: domény, katalogy.

HTML 0-4, 5?

HTTPS

Vyhodnocování WWW adres z tagů HREF:
 – vzít v ůvahu možný příkaz BASE, absolutní, relativní, bez lomítka a s lomítkem na konci, bez názvu souboru a s názvem souboru na konci, index, default, home, welcome, .htm, .html, .php…1

follow/nofollow:
- direktivy v HTML head
- součást tagu HREF
- robots.txt

Vyhodnocení adres, určených v HREF JavaScriptem.

Kódování (určení kódu stránky a převod znaků do kódu UTF-8).
Překódovat hned při stažení do UTF-8 nebo používat parser pro různé kódy, jak tomu parseru zadat kód stránky.

Čeština: domény .cz bez vyjímky?, určení, zda je stránka v češtině, podle čeho určit (http, HTML, diakritika…), kdy takovou stránku ukládat, kdy z této stránky vyhodnocovat WWW adresy z tagů HREF pro další stahování?

Variabilní stránky (různé skiny, filtrování, jazyky na jedné stránce)

Různé kombinace tagů na stránce, např. když je první p nebo div header, který je na každý stránce stejný, a title se neliší.

Řěšit totožné nebo podobné stránky (duplicity) pod různými adresami přes sekundární hash:
- součet kódů znaků na stránce
- součet kódů znaků na stránce - modulo

Prodlevy pro stahování z 1 serveru, abych ho neschodil.

Zadat downloaderu time-out pro maximální neodezvu serveu.

Omezit maximální velikost stahované stránky.

Omezit stahovaný počet podstránek z jedné domény nebo z jednoho stromu či podstromu, nebo též pomocí počtu lomítek ve WWW adrese.

Ukládat do texťáku:
- WWW adresu
- chybový kód
- hlavičku
- zdroják
- délka zdrojáku (počet znaků)
- součet znaků zdrojáku

Správně by se měla využívat jedna connection pro více stránek - servery to mají raději, teda pokud nezasílají connection:close.