Es gibt ein Online-HTTP-Verzeichnis, auf das ich Zugriff habe. Ich habe versucht, alle Unterverzeichnisse und Dateien über herunterzuladen wget
. Das Problem ist jedoch, dass beim wget
Herunterladen von 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 Tiefenbegrenzung herunterzuladen (als ob das Verzeichnis, das ich herunterladen möchte, nur ein Ordner ist, den ich auf meinen Computer kopieren möchte).
-R
wie-R css
alle CSS - Dateien auszuschließen, oder verwenden Sie-A
wie-A pdf
nur Download - PDF - Dateien.When downloading from Internet servers, consider using the ‘-w’ option to introduce a delay between accesses to the server. The download will take a while longer, but the server administrator will not be alarmed by your rudeness.
robots.txt
dies nicht funktioniert , wenn eine Datei das Herunterladen von Dateien im Verzeichnis verbietet. In diesem Fall müssen Sie hinzufügen-e robots=off
. Siehe unix.stackexchange.com/a/252564/10312Dank dieses Beitrags mit VisualWGet konnte ich dies zum Laufen bringen . Es hat super für mich funktioniert. Der wichtige Teil scheint darin zu bestehen, die
-recursive
Flagge zu überprüfen (siehe Bild).Es wurde auch festgestellt, dass die
-no-parent
Flagge wichtig ist. Andernfalls wird versucht, alles herunterzuladen.quelle
--no-parent
?Von
man wget
'-r' '--recursive' Aktiviert das rekursive Abrufen. Weitere Informationen finden Sie unter Rekursiver Download. Die standardmäßige maximale Tiefe beträgt 5.
'-np' '--no-parent' Steigen Sie beim rekursiven Abrufen niemals in das übergeordnete Verzeichnis auf. Dies ist eine nützliche Option, da dadurch garantiert wird, dass nur die Dateien unterhalb einer bestimmten Hierarchie heruntergeladen werden. Weitere Informationen finden Sie unter Verzeichnisbasierte Grenzwerte.
'-nH' '--no-host-verzeichnisse' Deaktiviert die Generierung von Verzeichnissen mit Hostpräfix . Standardmäßig wird durch Aufrufen von Wget mit '-r http://fly.srk.fer.hr/ ' eine Struktur von Verzeichnissen erstellt, die mit fly.srk.fer.hr/ beginnen. Diese Option deaktiviert ein solches Verhalten.
'--cut-dirs = number' Ignoriert die 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, bleiben Sie bei pub / xemacs hängen. Hier bietet sich '--cut-dirs' an. Dadurch wird die Anzahl der Remote-Verzeichniskomponenten von Wget nicht angezeigt. Hier sind 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' jedoch nicht mit Unterverzeichnissen - zum Beispiel mit '-nH --cut-dirs = 1' wird ein Beta / Unterverzeichnis in xemacs / beta as platziert man würde erwarten.
quelle
wget
ist eine unschätzbare Ressource und etwas, das ich selbst benutze. Manchmal enthält die Adresse jedoch Zeichen,wget
die als Syntaxfehler identifiziert werden. Ich bin mir sicher, dass es eine Lösung dafür gibt, aber da diese Frage nicht speziell gestellt wurde,wget
dachte ich, ich würde eine Alternative für diejenigen Leute anbieten, die zweifellos auf diese Seite stoßen und nach einer schnellen Lösung suchen, ohne dass eine Lernkurve erforderlich ist.Es gibt einige Browser-Erweiterungen, 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 viele Ressourcen verbrauchen. Hier ist einer, der keinen dieser Nachteile hat:
"Download Master" ist eine Erweiterung für Google Chrome, die sich hervorragend zum Herunterladen aus Verzeichnissen eignet. Sie können wählen, welche Dateitypen heruntergeladen werden sollen, oder das gesamte Verzeichnis herunterladen.
https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce
Eine aktuelle Funktionsliste und weitere Informationen finden Sie auf der Projektseite im Entwicklerblog:
http://monadownloadmaster.blogspot.com/
quelle
Mit diesem Firefox-Addon können Sie alle Dateien im HTTP-Verzeichnis herunterladen.
https://addons.mozilla.org/en-US/firefox/addon/http-directory-downloader/
quelle
Keine Software oder Plugin erforderlich!
(nur verwendbar, wenn Sie kein rekursives Deptch benötigen)
Lesezeichen verwenden. Ziehen Sie diesen Link in Lesezeichen, bearbeiten Sie diesen Code und fügen Sie ihn ein:
Gehen Sie auf die Seite (von der Sie Dateien herunterladen möchten) und klicken Sie auf das Lesezeichen.
quelle
Sie können lftp verwenden, das Schweizer Taschenmesser zum Herunterladen, wenn Sie größere Dateien haben, die Sie
--use-pget-n=10
dem Befehl hinzufügen könnenquelle
wget funktioniert im Allgemeinen auf diese Weise, aber einige Websites können Probleme haben und zu viele unnötige HTML-Dateien erstellen. Um diese Arbeit zu vereinfachen und unnötige Dateierstellung zu verhindern, teile ich mein getwebfolder-Skript, das das erste Linux-Skript ist, das ich für mich selbst geschrieben habe. Dieses Skript lädt den gesamten Inhalt eines als Parameter eingegebenen Webordners herunter.
Wenn Sie versuchen, einen geöffneten Webordner von wget herunterzuladen, der mehr als eine Datei enthält, lädt wget eine Datei mit dem Namen index.html herunter. Diese Datei enthält eine Dateiliste des Webordners. Mein Skript konvertiert in der Datei index.html geschriebene Dateinamen in Webadressen und lädt sie mit wget klar herunter.
Getestet unter Ubuntu 18.04 und Kali Linux, funktioniert es möglicherweise auch in anderen Distributionen.
Verwendung :
Extrahieren Sie die getwebfolder-Datei aus der unten angegebenen Zip-Datei
chmod +x getwebfolder
(nur zum ersten Mal)./getwebfolder webfolder_URL
sowie
./getwebfolder http://example.com/example_folder/
Download-Link
Details im Blog
quelle