Ich versuche, beim Einwählen viele Seiten von einer Website herunterzuladen. Dies kann sehr langsam sein. Ich habe fast den perfekten wget
Befehl, aber da ich Seiten von derselben Site wget
herunterlade, verschwendet es Zeit, für jede Seite dieselben Standardbilder herunterzuladen.
Wenn ich den Namen der Standard-Seitenbilder kenne, gibt es eine Möglichkeit, diese zu wget
ignorieren und somit das Herunterladen für jede einzelne Seite zu vermeiden?
Hier ist ein Beispiel für einen der wget-Befehle, die mein Shell-Skript in einem anderen Shell-Skript generiert, um alle Seiten herunterzuladen:
mkdir candy-canes-on-the-flannel-board-in-preschool
cd candy-canes-on-the-flannel-board-in-preschool
wget -p -nd -A jpg,html -k http://www.teachpreschool.org/2011/12/candy-canes-on-the-flannel-board-in-preschool/
wget -c --random-wait --timeout=30 --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" http://www.teachpreschool.org/2011/12/candy-canes-on-the-flannel-board-in-preschool/ -O "candy-canes-on-the-flannel-board-in-preschool"
rm Baby-and-Toddler.jpg Childrens-Books.jpg Creative-Art.jpg Felt-Fun.jpg Happy_Rainbow-e1338766526528.jpg index.html Language-and-Literacy.jpg Light-table-Button.jpg Math.jpg Outdoor-Play.jpg outer-jacket1-300x153.jpg preschoolspot-button-small.jpg robots.txt Science-and-Nature.jpg Signature-2.jpg Story-Telling.jpg Tags-on-Preschool.jpg Teaching-Two-and-Three-Year-olds.jpg
cd ../
Jetzt ist mir klar, dass das Skript wahrscheinlich nicht so geschickt ist, wie es sein könnte, aber es tut das, was ich gerade brauche, außer dass Sie anhand des rm
Befehls sehen können, dass ich nur verhindern möchte, dass wget
die Dateien, wenn möglich, überhaupt heruntergeladen werden.
Fast hätte ich vergessen zu erwähnen, dass es zwei wget
Befehle gibt, und das liegt daran, dass der erste die Seite herunterlädt, da sie index.html
aus irgendeinem Grund nicht in meinem Browser geöffnet vim
wird da bin ich mir also nicht sicher warum es sich nicht öffnet. Aber wenn ich nur den zweiten wget
Befehl gebe, wie es ist, öffnet sich diese Seite, dieselbe Datei wirklich mit einem alternativen Namen, gut. Etwas, das, wenn ich es reparieren könnte, auch helfen würde, den Prozess zu rationalisieren.
Antworten:
Wget hat eine
--reject rejlist
Option, die Sie verwenden können. Die Ablehnungsliste ist eine Liste von Dateinamenmustern.Es gibt auch eine
-nc
Option, um das Herunterladen und Überschreiben vorhandener Dateien zu vermeiden.quelle
Ich bin auch auf dieses Problem gestoßen und habe es später folgendermaßen gelöst: "--reject-regex logout", mehr: wget-devTips
quelle