HTTP realmente no tiene una noción de directorios. Las barras distintas de las tres primeras ( http://example.com/
) no tienen ningún significado especial, excepto con respecto a ..
las URL relativas. Entonces, a menos que el servidor siga un formato particular, no hay forma de "descargar todos los archivos en el directorio especificado".
Si desea descargar todo el sitio, su mejor opción es recorrer todos los enlaces de la página principal de forma recursiva. Curl no puede hacerlo, pero wget sí. Esto funcionará si el sitio web no es demasiado dinámico (en particular, wget no verá los enlaces construidos por el código Javascript). Comience con wget -r http://example.com/
y busque en "Opciones de recuperación recursiva" y "Opciones de aceptación / rechazo recursivo" en el manual de wget para obtener opciones más relevantes (profundidad de recursión, listas de exclusión, etc.).
Si el sitio web intenta bloquear las descargas automáticas, es posible que deba cambiar la cadena del agente de usuario ( -U Mozilla
) e ignorarla robots.txt
(cree un archivo vacío example.com/robots.txt
y use la -nc
opción para que wget no intente descargarlo del servidor).