Zdravím
Jaký program používáte v Linuxu pro web reap (kompletní stáhnutí obsahu webowého serveru + konvert odkazů pro offline prohlížení), a jaké s tím máte zkušenosti ?
V linuxu používam Wget. Je rychlý a výkonný, nezatěžuje moc CPU a poradí si z většinou typů stránek (html, php, atd.).
Pro stáhnutí souboru stačí "wget URL" (URL je možné měnit podle proměnných).
Pro import url ze souboru wget -i soubor.txt ...+další příkazy pro optimalizaci za jménem souboru.
-nc nestahuje soubory, které již jsou staženy (kompletnost souborů netestuje, pokud volba -nc není, a soubor již existuje, nový soubor dostane pořadové číslo za příponu).
-r -l (číslo) stahuje do hloubky určené číslem (-r -l 5 tedy 5 odkazů hluboko - maximální houbka pokud tak hluboo existují odkazy, -N znamená nekonečně hluboko), když tam dáme vysoké číslo (9999), stáhne se většinou celý web.
-nH nevytvoří adresář se jménem serveru
-k konvert odkazů nna stráknách pro offline prohlížení
-np stahuje v adresářové struktuře jen hloubš než aktuální link
-X když nějakou část webu nechceme např. kvůli velikosti nebo doby stahování např
www.web.cz/forum/, pak použijeme -X /forum/ bez jména webu. Lze použít i víc adresářů oddělených čárkou, např. -X /forum/,/cgi/,/kalendar/
-m stáhne celý web kompletně (zde nefunguje -nc, proto spíšpoužívam -r -l 9999)
-A +přípona seznam přípon souborů, které chceme, odddělené čárkou. U připon i jmen souborů jsou v Linuxu rozlišována velká a malá písmena.
-R + přípona seznam přípon souborů, které nechceme, odddělené čárkou.
-r timestamp u souborů (statických) shodných s timestamp na serveru (což je i bez této volby, když se odkazy nekonvertujou -k)
-q nevypisuje průběh stahování na obrazovku (u rekurzivního stahování a velkých souborů je tento výpis hodně dlouhý).
Mšla by jít i možnost vytvoři mapu odkazů bez importu webu na disk, ale nejsem si jistý jak (zdrojový kód stránky se stáhne a procesuje v ram).
Celkem je cca 100 možností pro optimalizaci příkazu wget.
wget -qO - ,důležitá volba, způsobí, že obsah stránky (tedy text - zdrojový kód) se neuloží jako soubor, ale vypíše se na obrazovku (místo výpisu na obrazovku předpokádáme přesměrování k dalšímu zpracování).
Více na
www.cetoraz.info/pavel/index.shtml?show=1355,wget---stahujme-kvalitne---Podrobny-navod-s-prikladyProblém ale je ve jménech souborů v případě složitějších názvů se jména vs. odkazy rozhážou. Samozřejmě wget používá názvy souborů shodující se s linuxovými pravidly - ve windows nemusí jít soubory přečíst.
Pro reap a konvert odkazů složitějších webů je tedy wget spíš těžko použitelný.
Máte zkušenosti s nějakým jiným programem, který by uměl lépe reap-nout web a překonvertovat složitější odkazy ?
Dalším problémem jsou rozsáhlé databáze, např. fóra, články + comment, kde se všechny stránky generované z databáze ukládají do jednoto adresáře. S různou volbou parametrů je stránek opravdu hodně, zabírají dost místa. Největším problémem ale je více souborů (50 000 - 1 000 000+) v jednom adresáři, navíc s dlouhými názvy. Číst i zapisovat do takového adresáře je docela problém.
Existuje varianta, která by s tímto lépe pracovala v případě reapu fóra nebo článků ? Nejlepším řešením by bylo ukládat do jednoho souboru získaná data místo ukládání každého souboru co by vygenerované stránky zvlášť. Popřípadě zd-ali nějaký program umí obsah web serveru do jednoho soubru uložit ? (Řešením je reap webu + vytvoření iso ze složky pomocí např. ImgBurn, ale tam je problém z delšími názvy a velkým počtem souborů v adresáři ještě větší).
Ve windows se k podobnému účelu dá použít freeware: Black Widow, WebReaper, Backstreet Browser, Jdownloader, Wget for win. Z ne freeware programů Teleport, ale má omezení na celkový počet odkazů podle verze (Pro 65 000, Ultra 256 000 a VLX 40 000 000 - takže VLX prakticky bez omezení, na každý milion adres je potřeba cca 100-250 MB ram). Teleport má výkon skutečně největší a jako jediný si umí poradit se všemi typy stránek prakticky. Vemi dobře zvládá konvert odkazů a pojmenování souborů u složitých webů. Neduhem většiny programů je opět velký počet souborů v jednom adresáři u fór a databází. Navíc jsou 32-bit, takže když velikost v ram (způsobený nárůst rozsáhným seznamem odkazů) přesáhne 2GB, program spadne. Málokdy existuje verze 64-bit. Freewere programy s špatým výkonem GetLeft a Jobo, ne-freeware Frontpage u office XP a níž (zvádá jen základní typ statických stránek a ukládá zbytečné soubory navíc, takže tato funkce frontpage je k ničemu dneska).