¿Cómo descargar la lista de archivos de un servidor de archivos?

10

¿Cómo descargaría una lista de archivos de un servidor de archivos como este http://www.apache.org/dist/httpd/binaries/ ?

Supongo que podría usar wget pero luego intenta obtener todos los enlaces y el archivo html también. ¿Existe una mejor herramienta para lograr esto?

BinaryMisfit
fuente
solo para aclarar su pregunta: ¿solo desea la lista de archivos que se pueden descargar del servidor, no los archivos en sí (todavía)?
akira
¿De qué manera un comando como `wget --no-verbose --spider --no-directorios --recursive --level = 2 apache.org /dist/httpd/ binaries` no funciona para usted? Si pudieras ser más específico, eso podría ayudar
DaveParillo

Respuestas:

12

Puede especificar qué extensiones de archivo wgetse descargarán al rastrear páginas:

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

Se realizará una búsqueda recursiva archivos y sólo descarga con el .zip, .rpmy .tar.gzextensiones.

John T
fuente
8

suponiendo que realmente solo desea una lista de los archivos en el servidor sin recuperarlos (todavía):

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

mientras que 'filter.awk' se ve así

/^--.*-- http: \ / \ /.* [^ \ /] $ / {u = $ 3; }
/ ^ Longitud: [[: dígito:]] + / {print u; }

entonces posiblemente tengas que filtrar algunas entradas como

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

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

Puede usar el siguiente comando:

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

Explicación con cada opción.

  • wget: Comando simple para hacer una solicitud CURL y descargar archivos remotos a nuestra máquina local.
  • --execute="robots = off": Esto ignorará el archivo robots.txt mientras rastrea páginas. Es útil si no obtiene todos los archivos.
  • --mirror: Esta opción básicamente reflejará la estructura de directorios para la URL dada. Es un atajo -N -r -l inf --no-remove-listingque significa:
    • -N: no vuelva a recuperar archivos a menos que sea más reciente que local
    • -r: especificar descarga recursiva
    • -l inf: profundidad máxima de recursión (inf o 0 para infinito)
    • --no-remove-listing: no elimine los archivos '.listing'
  • --convert-links: hacer que los enlaces en HTML o CSS descargados apunten a archivos locales
  • --no-parent: no ascienda al directorio padre
  • --wait=5: espere 5 segundos entre recuperaciones. Para que no destruyamos el servidor.
  • <website-url>: Esta es la url del sitio web desde donde descargar los archivos.

Descarga feliz: smiley:

Udit Desai
fuente