Wie kann ich eine Liste von Dateien von einem Dateiserver herunterladen?

32403
BinaryMisfit

Wie würde ich eine Liste von Dateien von einem Dateiserver wie diesem herunterladen? Http://www.apache.org/dist/httpd/binaries/ ? ?

Ich vermute, ich könnte wget verwenden, aber dann wird versucht, alle Links und die HTML-Datei zu erhalten. Gibt es ein besseres Werkzeug, um dies zu erreichen?

9
Nur um Ihre Frage zu klären: Sie möchten nur die Liste der Dateien, die vom Server heruntergeladen werden können, nicht die Dateien selbst (noch)? akira vor 14 Jahren 0
Wie funktioniert ein Befehl wie "wget ​​--no-verbose --spider --no-verzeichnisse --recursive --level = 2 http: // www.apache.org / dist / httpd / binaries /" nicht? Du? Wenn Sie genauer sein könnten, könnte dies hilfreich sein DaveParillo vor 14 Jahren 0

3 Antworten auf die Frage

12
John T

Sie können angeben, welche Dateierweiterungen wgetbeim Crawlen von Seiten heruntergeladen werden:

wget -r -A zip,rpm,tar.gz www.site.com/startpage.html 

dies wird eine rekursive Suche und nur Download - Dateien mit den durchführt .zip, .rpmund .tar.gzErweiterungen.

7
akira

Angenommen, Sie möchten wirklich nur eine Liste der Dateien auf dem Server, ohne sie (noch) abzurufen:

%> wget -r -np --spider http://www.apache.org/dist/httpd/binaries/ 2> & 1 | awk -f filter.awk | uniq

Während 'filter.awk' so aussieht

/^--.*-- http: \ / \ /.* [^ \ /] $ /  / ^ Länge: [[: digit:]] + /  

dann musst du eventuell einige einträge wie filtern

"http://www.apache.org/dist/httpd/binaries/?C=N;O=D" 
0
Udit Desai

Ref: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

Sie können folgenden Befehl verwenden:

wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url> 

Erklärung mit jeder Option

  • wget: Einfacher Befehl, um eine CURL-Anforderung anzufordern und Remote-Dateien auf unseren lokalen Computer herunterzuladen.
  • --execute="robots = off": Dies ignoriert die Datei robots.txt beim Durchsuchen von Seiten. Dies ist hilfreich, wenn Sie nicht alle Dateien erhalten.
  • --mirror: Diese Option spiegelt im Wesentlichen die Verzeichnisstruktur für die angegebene URL wider. Es ist eine Abkürzung für -N -r -l inf --no-remove-listingwas bedeutet:
    • -N: Rufen Sie Dateien nicht erneut ab, außer neuer als lokal
    • -r: Geben Sie den rekursiven Download an
    • -l inf: maximale Rekursionstiefe (inf oder 0 für unendlich)
    • --no-remove-listing: Entfernen Sie keine ".listing" -Dateien
  • --convert-links: Links in heruntergeladenem HTML oder CSS auf lokale Dateien verweisen
  • --no-parent: Steigen Sie nicht in das übergeordnete Verzeichnis auf
  • --wait=5: Warten Sie 5 Sekunden zwischen den Abrufen. Damit wir den Server nicht verprügeln.
  • <website-url>: Dies ist die Website-URL, von der aus die Dateien heruntergeladen werden können.

Viel Spaß beim Herunterladen: Smiley: