Pokud se patlám třeba s Pythonem a PyGTK, potřebuji mít dokumentaci neustále po ruce. S netbookem nejsem vždy online, a tak stahuji weby s dokumentací na svůj disk. Například takto:
wget --recursive --page-requisites --adjust-extension --convert-links --domains developer.gnome.org --no-parent http://developer.gnome.org/pygtk/stable/
Abych k tomu alespoň něco napsal:
--recursive / -r - stahuje rekurzivně
--page-requisites / -p - stáhne všechny soubory potřebné pro správné zobrazení stránky
--adjust-extension / -E - postará se o to, aby stažené soubory měly patřičné koncovky. Pokud souboru chybí koncovka .html, přidá ji, soubory s css styly dostanou koncovku .css. Pokud ale budete stažený web aktualizovat rozdílovou metodou, budou se upravené soubory vždy stahovat znovu, i když se jinak nezměnily.
--convert-links / -k - zkonvertuje odkazy v dokumentech na lokální, pokud existují
--domains= / -D - seznam domén, které mají být následovány
--no-parent / -np - nesledovat při rekurzi nadřazené adresáře
a nakonec adresa webu, který chci stáhnout
Dekuji za tip. Vyzkouseno a funguje. Pouzivam ho na zalohovani webovych stranek starsich her aby se informace neztratily v propadisti dejin.
OdpovědětVymazatMirne jsem modifikoval a udelal skriptik. Trochu me prekvapilo, ze wget nejak nechape ~ jako home uzivatele a zatvrzele vytvari adresar ~ v domovske slozce. Musel jsem tedy pouzit promenou $HOME
#!/bin/bash
echo Zadejte adresu
read F
wget --directory-prefix=""$HOME"/Stažené/weby-offline/" --recursive --page-requisites --adjust-extension --convert-links "$F"
wget očekává cestu v běžném formátu, nic interpretovat nebude, stejně jako ostatní programy, o interpretaci(expandování) speciálních zkratek shellu se stará zas pouze shell. Pokud napíšeš ~ do uvozovek, Bash nic expandovat nebude a wget nedostane platnou cestu. Naopak proměnné Bash expanduje i ve dvojitých uvozovkách. Můžeš porovnat:
OdpovědětVymazatecho ~
echo "~"
echo $HOME
echo "$HOME"
echo '$HOME'