Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: jadd 17 Října 2009, 01:46:04
-
Potřeboval bych stáhnout celý adresář použitím "wget", zkoušel jsem to použitím odkazů v html soboru ale nijak se nedaří.
nejdříve jsem to zkusil:
daja51@daja51NB:/media/GENTOO/dist09$ sudo wget -4 -x http://gentoo.mirror.web4u.cz/distfiles/*[sudo] password for daja51:
Varování: HTTP nepodporuje žolíkové znaky.
--2009-10-17 00:52:52-- http://gentoo.mirror.web4u.cz/distfiles/*
Překládám gentoo.mirror.web4u.cz… 81.91.81.13
Navazuje se spojení s gentoo.mirror.web4u.cz|81.91.81.13|:80… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 404 Not Found
2009-10-17 00:52:54 CHYBA 404: Not Found.
daja51@daja51NB:/media/GENTOO/dist09$ sudo wget -4 -x http://gentoo.mirror.web4u.cz/distfiles/ -k gentoo.mirror.web4u.cz/distfiles/index.html
--2009-10-17 01:33:32-- http://gentoo.mirror.web4u.cz/distfiles/
Překládám gentoo.mirror.web4u.cz… 81.91.81.13
Navazuje se spojení s gentoo.mirror.web4u.cz|81.91.81.13|:80… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 7641606 (7,3M) [text/html]
Ukládám do: „gentoo.mirror.web4u.cz/distfiles/index.html“.
100%[=======================================================================================================================================>] 7 641 606 156K/s za 40s
Stahuje se vždy jen index.html
-
Zdravím Vás,
zde je řešení Vašeho problému :
http://codeidol.com/html/websiteckbk/Site-Planning-and-Setup/Downloading-All-Files-from-a-Site/
Jsou tam i další užitečné odkazy...
-
A taky nepoužívejte před příkazem wget sudo! Ke stahování přece nepotřebujete práva roota.
-
umh. manual a venuj pozornost -r
-
A taky nepoužívejte před příkazem wget sudo! Ke stahování přece nepotřebujete práva roota.
daja51@daja51NB:/media/GENTOO/dist09$ wget -4 -x http://gentoo.mirror.web4u.cz/distfiles/ *
--2009-10-17 17:16:24-- http://gentoo.mirror.web4u.cz/distfiles/
Překládám gentoo.mirror.web4u.cz… 81.91.81.13
Navazuje se spojení s gentoo.mirror.web4u.cz|81.91.81.13|:80… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 7645522 (7,3M) [text/html]
gentoo.mirror.web4u.cz/distfiles/index.html: Permission denied
Nelze zapsat do „gentoo.mirror.web4u.cz/distfiles/index.html“ (Permission denied).
--2009-10-17 17:16:26-- http://gentoo.mirror.web4u.cz/
Navazuje se spojení s gentoo.mirror.web4u.cz|81.91.81.13|:80… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 1558 (1,5K) [text/html]
gentoo.mirror.web4u.cz/index.html: Permission denied
Nelze zapsat do „gentoo.mirror.web4u.cz/index.html“ (Permission denied).
-
umh. manual a venuj pozornost -r
wget --help
-r, --recursive zapne rekurzivní stahování.
myslels tohle ? vyzkoušel jsem, zase jen ten html soubor , jinak sem nedočet tu stránku od: JFOOTa
-
Něco jsem vyzkoušel i z manuálu (http://www.gnu.org/software/wget/manual/), ale zatím nic.
-
umh. ok. na to musis jinak hochu.
jak jsi si sam vsiml, tak pri -rc to stahne jen index a informaci robots.txt, z cehoz by jeden mohl odtusit, ze maji nejakou primitivni obranu pred roboty, takze:
# stahne soubor html gentoo_mirror.index, kterej bude obsahovat jmena vsech balicku co tam jsou
wget http://gentoo.mirror.web4u.cz/distfiles/ -O gentoo_mirror.index
# pokud bys to chtel aktualizovat, tak si vzdy stahni novy jako gentoo_mirror.index2 a porovnej md5sumy aka
md5sum gentoo_mirror.index*
# potom uz si jen ze soubory vyndej jmena balicku napriklad takto:
perl -ne 'next if !s/.*"(.[^"]*(bz2|gz|zip))".*/$1 /g; print' gentoo_mirror.index
.. dal uz je to jasne ;) .. s tim uz si delej co chces, ale nepovazuju to za dobrej napad stahovat to cely .. tvoje aktualizovana databaze s informaci je lepsi. muzes si z toho stahnout co chces
pokud se ti nelibi reseni v perlu, lze to samozrejme udelat pomoci sedu nebo ceho chces jineho
-
# potom uz si jen ze soubory vyndej jmena balicku napriklad takto:
perl -ne 'next if !s/.*"(.[^"]*(bz2|gz|zip))".*/$1 /g; print' gentoo_mirror.index
Nevím jak to použít, s perlem neumím a sedem taky ne asi mi nezbyde než to stáhnout po jednom ale ve firefoxu klikáním, protože s wget by to trvalo celej den.
-
já tedy nevím, ale není náhodou na ftp to samé?
ftp://gentoo.mirror.web4u.cz/distfiles/
-
stahovat to cele je blbost. ale je-li libo:
## ulozi stranku, aktualnost lze kontrolat pomoci md5sum
wget http://gentoo.mirror.web4u.cz/distfiles/ -O gentoo_mirror.index
## vynda z ulozene stranky seznam balicku a ulozi je do souboru pkglist.txt
perl -ne 'next if !s/.*"(.[^"]*(bz2|gz|zip))".*/$1 /g; print' gentoo_mirror.index >pkglist.txt
## tohle napriklad stahne vsechy balicky v jejichz nazvu se vyskytuje "bash"
grep bash pkglist.txt | while read line; do wget -c http://gentoo.mirror.web4u.cz/distfiles/$line; done
stahovat to pojednom? hm. vzhledem k tomu ze tam je pres 30 tisic polozek:
> wc -l pkglist.txt
32808 pkglist.txt
-
Vím že je to blbost, jelikož se stáhnou zbytečně i starší verze, proto jsem chtěl až zjistím jak se to dělá, přijít na to jak odfiltrovat ty nejnovější verze, zatím na to nemám mozkovou kapacitu. Časem snad...vývoj jde pomalu dopředu :D
Zatím budu stahovat pomocí gftp, ale jen vybranné.
A děkuji za snahu ;)
-
stahovat to cele je blbost. ale je-li libo:
## ulozi stranku, aktualnost lze kontrolat pomoci md5sum
wget http://gentoo.mirror.web4u.cz/distfiles/ -O gentoo_mirror.index
## vynda z ulozene stranky seznam balicku a ulozi je do souboru pkglist.txt
perl -ne 'next if !s/.*"(.[^"]*(bz2|gz|zip))".*/$1 /g; print' gentoo_mirror.index >pkglist.txt
## tohle napriklad stahne vsechy balicky v jejichz nazvu se vyskytuje "bash"
grep bash pkglist.txt | while read line; do wget -c http://gentoo.mirror.web4u.cz/distfiles/$line; done
stahovat to pojednom? hm. vzhledem k tomu ze tam je pres 30 tisic polozek:
> wc -l pkglist.txt
32808 pkglist.txt
Když má čas... ;D
-
Vím že je to blbost, jelikož se stáhnou zbytečně i starší verze, proto jsem chtěl až zjistím jak se to dělá, přijít na to jak odfiltrovat ty nejnovější verze, zatím na to nemám mozkovou kapacitu. Časem snad...vývoj jde pomalu dopředu :D
Zatím budu stahovat pomocí gftp, ale jen vybranné.
A děkuji za snahu ;)
boze. rikals, ze pres ftp mas fup.
a co je tak tezkeho na tom stahnout si to jak jsem ti to napsal? co je tak nepochopitelneho na 3 krocich kdy delas kat & pejst?
misto `grep bash pkglist.txt` v poslednim prikazu si muzes dat cokoliv jineho nez bash .. umh. alespon zaklady Linuxu by jsi snad mohl znat.
man grep
man cat
hehe. neber to nijak osobne, je to jen prislovi, ale v tuto chvili me napada, ze ma snaha je "jako hazet perly svinim" ;)
-
ak to nemusi byt cez terminal tak by mohol posluzit aj tento (http://"https://addons.mozilla.org/en-US/firefox/addon/201") addon pre firefix
-
# stahne soubor html gentoo_mirror.index, kterej bude obsahovat jmena vsech balicku co tam jsou
wget http://gentoo.mirror.web4u.cz/distfiles/ -O gentoo_mirror.index
# pokud bys to chtel aktualizovat, tak si vzdy stahni novy jako gentoo_mirror.index2 a porovnej md5sumy aka
md5sum gentoo_mirror.index*
# potom uz si jen ze soubory vyndej jmena balicku napriklad takto:
perl -ne 'next if !s/.*"(.[^"]*(bz2|gz|zip))".*/$1 /g; print' gentoo_mirror.index
Ono to opravdu funguje :D Šloby ještě odfiltrovat kdy byl změněn(modified) nebo to jde jen na ten "jméno-verze.přípona"
-
urcite ;), na root.cz a vubec vsude mozne je spousta tutorialu na jednoduche shellove skripty a regularni vyrazy.