HTTP no tiene realmente una noción de directorios. Las barras inclinadas que no sean las tres primeras (http://example.com/
) no tienen ningún significado especial, excepto con respecto a ..
en las URL relativas. Así que, a menos que el servidor siga un formato particular, no hay forma de “descargar todos los archivos del directorio especificado”.
Si quiere descargar todo el sitio, su mejor opción es recorrer todos los enlaces de la página principal recursivamente. 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 con código Javascript). Empiece con wget -r http://example.com/
, y busque en “Recursive Retrieval Options” y “Recursive Accept/Reject Options” en el manual de wget para más opciones relevantes (profundidad de recursión, listas de exclusión, etc).
Si el sitio web intenta bloquear las descargas automáticas, puede que tenga que cambiar la cadena del agente de usuario (-U Mozilla
), e ignorar robots.txt
(crear un archivo vacío example.com/robots.txt
y utilizar la opción -nc
para que wget no intente descargarlo del servidor).