`no existe tal archivo o directorio` cuando se refleja con wget


1

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 directorycuando 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 wgetse construye / concatena el camino. ¿Cómo arreglas esto? . He intentado otras opciones como --user-agenty, --ignore-lengthpero sigo obteniendo los mismos resultados que se muestran a continuación (tendrá que abrir la imagen para ver los mensajes correctamente).

ingrese la descripción de la imagen aquí

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_coreget se guarda como un archivo llamado clojure_core. Es por eso que no clojure_corese puede crear una carpeta . Quizás pueda solucionar el problema con el -ndque no crea una jerarquía de directorios.
mpy

Sí, ya veo eso. Funciona cuando clojure_coreprimero creo la carpeta para que cualquier otro archivo nombrado clojure_corecambie su nombre a clojure_core1 y así sucesivamente. La pregunta es, ¿por qué hace eso? He probado la -ndopción y solo causa otros problemas, por ejemplo, se atasca en un bucle al intentar descargar robots.txttantas veces.
gebby

Respuestas:


3

Su problema se origina en el comportamiento de wgetguardar la URL http://clojuredocs.org/clojure_coreen un archivo llamado ./clojuredocs.org/clojure_core, pero la URL http://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/somethingestán condenadas a fallar, porque wgetya 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 wgetse ve obligado a crear primero el directorio. Entonces, la descarga puede continuar.

Sin embargo, http://clojuredocs.org/clojure_corese 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 ;))


No tuve suerte con ese parche. Introduce métodos indefinidos que rompen la compilación. Ese sitio tiene problemas importantes, sabía que cancelaba la descarga. Necesita mucho cuidado de niños e intervención manual. También me rendí después de unos 20mb. Voy a tener que trabajar con eso. Gracias por la respuesta, no habría buscado en el rastreador de errores.
gebby
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.