Wenn die Seiten untereinander verlinkt sind... geht das ja tatsächlich mit dem besagten wget -r http://foobar.com was anderes ist mir momentan auch nicht bekannt... aber wenn du die Dateinamen kennst, könntest du dir ja eine kleines Script schreiben... oder halt alle Dateinamen in ein File und dann mit.... for i in $(cat file.txt); do wget $i; done Mfg ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
Hallo, On 05-Dec-2005 evil-leeroy@web.de wrote:
Das sind sie zwar, aber wenn man eigentlich nur wenige dieser Dateien braucht, ist es doch sehr unpraktisch.
In dem aktuellen Fall scheint es mit der Sccriptloesung am einfachsten zu gehen. Jedenfalls laeuft der Download gerade, und bisher wurden auch noch keine Dateien heruntergeladen, die ich eigentlich nicht wollte. Beste Gruesse, Heinz. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo, On 05-Dec-2005 David Haller wrote:
Warum so einfach, wenn es auch umstaendlich geht ;-)) Danke, Heinz. PS: Um Missverstaendnissen vorzubeugen, das ist _keine_ Kritik an evil-leeroy@web.de, sondern dass ich man wget nicht gruendlich genug gelesen habe. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo, Am Tue, 06 Dec 2005, Heinz W. Pahlke schrieb:
Achso: Noch haeufiger verwende ich z.B.: irgendwas | wget -i - wobei '-' fuer 'stdin' steht (s. info wget) und 'irgendwas' fuer ein (meist perl-)script, das mir irgendwelche URLs aus ner zuvor gesaugten Webseite rauspopelt ;) Oder sowas: for i in `seq 0 10`; do printf "http://bla.fasel.suelz/%05i.htm\n" $i done | wget -i - Letzteres "regelt" bei einem Haufen von "Webcomics" ;)
'info wget' ist die (w|r)ichtige Doku. 'man wget' ist IIRC zwar vollstaendig bzgl. Optionen, erklaert aber diverse Feinheiten nicht. Mir gefaellt an wget v.a. die Moeglichkeit einer ~/.wgetrc sowie die passenderen default-Optionen im Vergleich zu 'curl'. Mein Standard ist: 'wget -m -k -np $URL' Das reicht fuer mind. 95% aller Seiten, die ich saugen will ;) Ggfs. will ich nur '-p' statt '-m'; oder ergaenze mal ein -I / -A / -R oder sowas... Das obige 'wget -m -k -np' ist inzwischen so automatisiert, da lohnt sich nicht mal mehr ein shell-alias fuer ;) Stattdessen hab u.a. folgendes Alias: $ type wget-as-mozilla wget-as-mozilla is aliased to `wget -U "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130"' Achso: via FTP kann wget sich per LIST die Dateiliste holen und auf diese das 'globbing' anwenden. Per HTTP bekommt man aber generell nur eine index.html\? bekommen, die alles moegliche sein kann und die meist nicht eine einfache Dateiliste ist. Globbing waere also zwecklos. Dein Problem liegt also bei HTTP vs. FTP. Und du musst somit die Ausgabe von 'wget http://foo/bar/' selber parsen, z.B. per 'lynx -dump | grep' oder | sed, oder | awk, oder | perl... Bequem wird die Sache wieder, wenn man gleich "fuer alles" perl verwendet: da holst du dir die Index-Datei per 'LWP::get', parst die Seite bequem in perl (ggfs. sogar per HTML::Parser o.ae.) und setzt die Folgerequests auch wieder per LWP ab -- oder per pipe an wget... z.B.: open(WGET, "| wget -i - ") or die "$!\n"; print WGET join("\n", @URLS); close WGET or die "$!\n"; Und dann gibt's noch WWW::Mechanize u.a. ;) Alles ungetestet! -dnh, obiges basierend auf 'wget 1.7' -- booting wetware is a critical process - it affects the systems mood
Moin,
Viel zu umständlich! Probiers mal mit: curl -O http://bla.fasel.suelz/000[01-10].htm Stefan
Hallo, On 05-Dec-2005 evil-leeroy@web.de wrote:
Das sind sie zwar, aber wenn man eigentlich nur wenige dieser Dateien braucht, ist es doch sehr unpraktisch.
In dem aktuellen Fall scheint es mit der Sccriptloesung am einfachsten zu gehen. Jedenfalls laeuft der Download gerade, und bisher wurden auch noch keine Dateien heruntergeladen, die ich eigentlich nicht wollte. Beste Gruesse, Heinz. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo, On 05-Dec-2005 David Haller wrote:
Warum so einfach, wenn es auch umstaendlich geht ;-)) Danke, Heinz. PS: Um Missverstaendnissen vorzubeugen, das ist _keine_ Kritik an evil-leeroy@web.de, sondern dass ich man wget nicht gruendlich genug gelesen habe. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo, Am Tue, 06 Dec 2005, Heinz W. Pahlke schrieb:
Achso: Noch haeufiger verwende ich z.B.: irgendwas | wget -i - wobei '-' fuer 'stdin' steht (s. info wget) und 'irgendwas' fuer ein (meist perl-)script, das mir irgendwelche URLs aus ner zuvor gesaugten Webseite rauspopelt ;) Oder sowas: for i in `seq 0 10`; do printf "http://bla.fasel.suelz/%05i.htm\n" $i done | wget -i - Letzteres "regelt" bei einem Haufen von "Webcomics" ;)
'info wget' ist die (w|r)ichtige Doku. 'man wget' ist IIRC zwar vollstaendig bzgl. Optionen, erklaert aber diverse Feinheiten nicht. Mir gefaellt an wget v.a. die Moeglichkeit einer ~/.wgetrc sowie die passenderen default-Optionen im Vergleich zu 'curl'. Mein Standard ist: 'wget -m -k -np $URL' Das reicht fuer mind. 95% aller Seiten, die ich saugen will ;) Ggfs. will ich nur '-p' statt '-m'; oder ergaenze mal ein -I / -A / -R oder sowas... Das obige 'wget -m -k -np' ist inzwischen so automatisiert, da lohnt sich nicht mal mehr ein shell-alias fuer ;) Stattdessen hab u.a. folgendes Alias: $ type wget-as-mozilla wget-as-mozilla is aliased to `wget -U "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130"' Achso: via FTP kann wget sich per LIST die Dateiliste holen und auf diese das 'globbing' anwenden. Per HTTP bekommt man aber generell nur eine index.html\? bekommen, die alles moegliche sein kann und die meist nicht eine einfache Dateiliste ist. Globbing waere also zwecklos. Dein Problem liegt also bei HTTP vs. FTP. Und du musst somit die Ausgabe von 'wget http://foo/bar/' selber parsen, z.B. per 'lynx -dump | grep' oder | sed, oder | awk, oder | perl... Bequem wird die Sache wieder, wenn man gleich "fuer alles" perl verwendet: da holst du dir die Index-Datei per 'LWP::get', parst die Seite bequem in perl (ggfs. sogar per HTML::Parser o.ae.) und setzt die Folgerequests auch wieder per LWP ab -- oder per pipe an wget... z.B.: open(WGET, "| wget -i - ") or die "$!\n"; print WGET join("\n", @URLS); close WGET or die "$!\n"; Und dann gibt's noch WWW::Mechanize u.a. ;) Alles ungetestet! -dnh, obiges basierend auf 'wget 1.7' -- booting wetware is a critical process - it affects the systems mood
Moin,
Viel zu umständlich! Probiers mal mit: curl -O http://bla.fasel.suelz/000[01-10].htm Stefan
participants (4)
-
David Haller
-
evil-leeroy@web.de
-
Heinz W. Pahlke
-
Stefan Scheler