Come scaricare un elenco di file da un file server?


10

Come posso scaricare un elenco di file da un file server come questo http://www.apache.org/dist/httpd/binaries/ ?

Suppongo che potrei usare wget ma poi cerca di ottenere tutti i collegamenti e anche il file html. Esiste uno strumento migliore per raggiungere questo obiettivo?


solo per chiarire la tua domanda: vuoi solo l'elenco dei file che potrebbero essere scaricati dal server, non i file stessi (ancora)?
Akira

In che modo un comando come `wget --no-verbose --spider --no-directories --recursive --level = 2 apache.org / dist / httpd / binaries` non funziona per te? Se potessi essere più specifico che potrebbe aiutare
DaveParillo,

Risposte:


12

Puoi specificare quali estensioni di file wgetverranno scaricate durante la scansione delle pagine:

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

questo eseguirà un ricorsive file di ricerca e solo scaricare i .zip, .rpme .tar.gzle estensioni.


8

supponendo che tu voglia davvero un elenco dei file sul server senza recuperarli (ancora):

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

mentre 'filter.awk' appare così

/^--.*-- http: \ / \ /.* [^ \ /] $ / {u = $ 3; }
/ ^ Lunghezza: [[: digit:]] + / {print u; }

quindi è possibile filtrare alcune voci come

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

0

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

Puoi usare il seguente comando:

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

Spiegazione con ciascuna opzione

  • wget: Comando semplice per effettuare la richiesta CURL e scaricare i file remoti sul nostro computer locale.
  • --execute="robots = off": Questo ignorerà il file robots.txt durante la scansione delle pagine. È utile se non si ottengono tutti i file.
  • --mirror: Questa opzione rispecchierà sostanzialmente la struttura della directory per l'URL specificato. È una scorciatoia per il -N -r -l inf --no-remove-listingche significa:
    • -N: non recuperare nuovamente i file se non più recenti di quelli locali
    • -r: specifica il download ricorsivo
    • -l inf: profondità massima di ricorsione (inf o 0 per infinito)
    • --no-remove-listing: non rimuovere i file '.listing'
  • --convert-links: i collegamenti in HTML o CSS scaricati puntano a file locali
  • --no-parent: non salire alla directory principale
  • --wait=5: attendere 5 secondi tra i recuperi. In modo che non schiacciamo il server.
  • <website-url>: Questo è l'URL del sito web da cui scaricare i file.

Buon download: smiley:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.