webentwicklung-frage-antwort-db.com.de

Wie lade ich ein HTTP-Verzeichnis mit allen Dateien und Unterverzeichnissen herunter, die in der Liste der Online-Dateien / -Ordner aufgeführt sind?

Es gibt ein Online-HTTP-Verzeichnis, auf das ich Zugriff habe. Ich habe versucht, alle Unterverzeichnisse und Dateien über wget herunterzuladen. Das Problem ist jedoch, dass beim Herunterladen von wget Unterverzeichnissen die index.html -Datei heruntergeladen wird, die die Liste der Dateien in diesem Verzeichnis enthält, ohne die Dateien selbst herunterzuladen.

Gibt es eine Möglichkeit, die Unterverzeichnisse und Dateien ohne Tiefenbeschränkung herunterzuladen (als ob das Verzeichnis, das ich herunterladen möchte, nur ein Ordner ist, den ich auf meinen Computer kopieren möchte)?.

online HTTP directory

154
Omar

Lösung:

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

Erläuterung:

  • Es werden alle Dateien und Unterordner im Verzeichnis ddd heruntergeladen
  • -r: rekursiv
  • -np: gehe nicht in die oberen Verzeichnisse, wie ccc /…
  • -nH: Dateien werden nicht im Hostnamenordner gespeichert
  • --cut-dirs=3: aber speichern Sie es in ddd , indem Sie die ersten 3 Ordner aaa , bbb weglassen , ccc
  • -R index.html: Ausschluss von index.html Dateien

Referenz: http://bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-Apache/

275
Mingjiang Shi

Ich konnte dies zum Laufen bringen, dank an diesen Beitrag unter Verwendung von VisualWGet . Bei mir hat es super geklappt. Der wichtige Teil scheint zu sein, das -recursive -Flag zu überprüfen (siehe Bild).

Es wurde auch festgestellt, dass das -no-parent -Flag wichtig ist, andernfalls wird versucht, alles herunterzuladen.

enter image description hereenter image description here

39
mateuscb
wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

Aus man wget

‘- r’ ’- recursive’ Aktivieren Sie das rekursive Abrufen. Weitere Informationen finden Sie unter Rekursiver Download. Die Standard-Maximaltiefe beträgt 5.

'- np' '--no-parent' Wechseln Sie beim rekursiven Abrufen niemals in das übergeordnete Verzeichnis. Dies ist eine nützliche Option, da nur die Dateien unter einer bestimmten Hierarchie heruntergeladen werden. Weitere Informationen finden Sie unter Verzeichnisbasierte Grenzwerte.

‘- nH’ --no-Host-directory ’ Deaktiviert die Erstellung von Verzeichnissen mit Host-Präfix. Wenn Sie Wget standardmäßig mit "-r http://fly.srk.fer.hr/ " aufrufen, wird eine Verzeichnisstruktur erstellt, die mit "fly.srk.fer.hr/" beginnt. Diese Option deaktiviert ein solches Verhalten.

‘- cut-dirs = number’ Ignoriert Komponenten des Nummernverzeichnisses. Dies ist nützlich, um eine detaillierte Kontrolle über das Verzeichnis zu erhalten, in dem der rekursive Abruf gespeichert wird.

Nehmen Sie zum Beispiel das Verzeichnis unter " ftp://ftp.xemacs.org/pub/xemacs/ ". Wenn Sie es mit "-r" abrufen, wird es lokal unter ftp.xemacs.org/pub/xemacs/ gespeichert. Während die Option -nH den Teil ftp.xemacs.org/ entfernen kann, stecken Sie immer noch in pub/xemacs fest. Hier bietet sich "--cut-dirs" an. Dadurch werden die Komponenten des Remote-Verzeichnisses von Wget nicht angezeigt. Im Folgenden finden Sie einige Beispiele für die Funktionsweise der Option "--cut-dirs".

Keine Optionen -> ftp.xemacs.org/pub/xemacs/ -nH -> pub/xemacs/-nH --cut-dirs = 1 -> xemacs/-nH --cut-dirs = 2 ->.

--cut-dirs = 1 -> ftp.xemacs.org/xemacs/ ... Wenn Sie nur die Verzeichnisstruktur entfernen möchten, ähnelt diese Option einer Kombination aus "-nd" und "-P". Im Gegensatz zu '-nd' verliert '--cut-dirs' nicht mit Unterverzeichnissen - zum Beispiel wird mit '-nH --cut-dirs = 1' ein beta/-Unterverzeichnis in xemacs/beta as abgelegt man würde erwarten.

6
Natalie Ng

wget ist eine unschätzbare Ressource und etwas, das ich selbst benutze. Manchmal enthält die Adresse jedoch Zeichen, die wget als Syntaxfehler kennzeichnet. Ich bin mir sicher, dass es eine Lösung dafür gibt, aber da diese Frage nicht speziell nach wget gestellt wurde, dachte ich, ich würde eine Alternative für diejenigen anbieten, die zweifellos auf diese Seite stoßen und nach einer schnellen Lösung suchen, ohne etwas zu lernen Kurve erforderlich.

Es gibt ein paar Browsererweiterungen, die dies tun können, aber die meisten erfordern die Installation von Download-Managern, die nicht immer kostenlos sind, in der Regel ein Dorn im Auge sind und viel Ressourcen verbrauchen. Hier ist eine, die keine dieser Nachteile hat:

"Download Master" ist eine Erweiterung für Google Chrome, die sich hervorragend zum Herunterladen aus Verzeichnissen eignet. Sie können auswählen, welche Dateitypen heruntergeladen werden sollen, oder das gesamte Verzeichnis herunterladen.

https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce

Eine aktuelle Featureliste und weitere Informationen finden Sie auf der Projektseite im Entwicklerblog:

http://monadownloadmaster.blogspot.com/

3
Moscarda

Keine Software oder Plugin erforderlich!

(nur verwendbar, wenn Sie kein rekursives Deptch benötigen)

Verwenden Sie das Lesezeichen. Ziehe diesen Link in die Lesezeichen, bearbeite und füge diesen Code ein:

(function(){ var arr=[], l=document.links; var ext=Prompt("select extension for download (all links containing that, will be downloaded.", ".mp3"); for(var i=0; i<l.length; i++) { if(l[i].href.indexOf(ext) !== false){ l[i].setAttribute("download",l[i].text); l[i].click(); } } })();

gehen Sie auf die Seite (von der aus Sie Dateien herunterladen möchten) und klicken Sie auf dieses Lesezeichen.

2
T.Todua

Sie können this Firefox-Addon verwenden, um alle Dateien im HTTP-Verzeichnis herunterzuladen.

https://addons.mozilla.org/en-US/firefox/addon/http-directory-downloader/

1
Rushikesh Tade