Estoy tratando de guardar una versión local de los documentos de clojure con el comando: wget
wget --user-agent=firefox --ignore-length -c -km
"http://clojuredocs.org/quickref/Clojure Core"`
pero siga obteniendo no such file or directory
cuando llegue a algunos enlaces como http://clojuredocs.org/clojure_core/clojure.core/rem que obviamente existen porque puede llegar allí con un navegador. Supongo que esto es un problema con la forma en que wget
se construye / concatena el camino. ¿Cómo arreglas esto? . He intentado otras opciones como --user-agent
y, --ignore-length
pero sigo obteniendo los mismos resultados que se muestran a continuación (tendrá que abrir la imagen para ver los mensajes correctamente).
Esto parece ser un problema con la duplicación porque el comando:
wget http://clojuredocs.org/clojure_core/clojure.core/rem
funciona bien
http://clojuredocs.org/clojure_core
get se guarda como un archivo llamadoclojure_core
. Es por eso que noclojure_core
se puede crear una carpeta . Quizás pueda solucionar el problema con el-nd
que no crea una jerarquía de directorios.clojure_core
primero creo la carpeta para que cualquier otro archivo nombradoclojure_core
cambie su nombre a clojure_core1 y así sucesivamente. La pregunta es, ¿por qué hace eso? He probado la-nd
opción y solo causa otros problemas, por ejemplo, se atasca en un bucle al intentar descargarrobots.txt
tantas veces.Respuestas:
Su problema se origina en el comportamiento de
wget
guardar la URLhttp://clojuredocs.org/clojure_core
en un archivo llamado./clojuredocs.org/clojure_core
, pero la URLhttp://clojuredocs.org/clojure_core/
(observe la barra inclinada) en un archivo llamado./clojuredocs.org/clojure_core/index.html
.Una vez que
./clojuredocs.org/clojure_core
se crea el archivo , las siguientes descargas de, por ejemplo,http://clojuredocs.org/clojure_core/something
están condenadas a fallar, porquewget
ya no puede crear un directorio./clojuredocs.org/clojure_core
.Esto fue reportado como el bug # 29647 en el GNU Wget Bugtracker .
Con el parche provisto (que obviamente no entró en el código fuente oficial) este problema desaparece y
wget
se ve obligado a crear primero el directorio. Entonces, la descarga puede continuar.Sin embargo,
http://clojuredocs.org/clojure_core
se guarda como./clojuredocs.org/clojure_core.1
, no como./clojuredocs.org/clojure_core/index.html
.No puedo juzgar si el convertidor de enlaces (
-k
) es lo suficientemente inteligente como para que los enlaces en esta copia local reflejada funcionen ... Detuve la descarga después de unos minutos. (Soy demasiado impaciente;)
)fuente