¿Cómo especificar la ubicación con wget?
-
21-08-2019 - |
Pregunta
Necesito descargar archivos en /tmp/cron_test/.Mi código wget es
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Entonces, ¿hay algún parámetro para especificar el directorio?
Solución
Desde la página del manual:
-P prefix
--directory-prefix=prefix
Set directory prefix to prefix. The directory prefix is the
directory where all other files and sub-directories will be
saved to, i.e. the top of the retrieval tree. The default
is . (the current directory).
Así que hay que añadir -P /tmp/cron_test/
(forma corta) o --directory-prefix=/tmp/cron_test/
(forma larga) a su comando. También tenga en cuenta que si el directorio no existe que será creado.
Otros consejos
O es la opción para especificar la ruta del archivo que desea descargar a.
wget <file.ext> -O /path/to/folder/file.ext
-P es el prefijo donde se descargará el archivo en el directorio
wget <file.ext> -P /path/to/folder
Asegúrate de tener la URL correcta para lo que estés descargando.En primer lugar, URL con caracteres como ?
y eso no se puede analizar ni resolver.Esto confundirá la línea cmd y aceptará cualquier carácter que no esté resuelto en el nombre de la URL de origen como el nombre del archivo en el que está descargando.
Por ejemplo:
wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"
se descargará en un archivo llamado, ?source=typ_redirect
.
Como puede ver, saber un par de cosas sobre las URL ayuda a comprender wget
.
Estoy arrancando desde un disco alquilado y solo tenía Linux 2.6.1 como recurso (el sistema operativo de importación no está disponible).La sintaxis correcta que resolvió mi problema al descargar una ISO en el disco duro físico fue:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Se podría determinar la URL correcta encontrando en qué punto wget
descargas en un archivo llamado index.html
(el archivo predeterminado) y tiene el tamaño correcto/otros atributos del archivo que necesita, mostrados por el siguiente comando:
wget "(source url)"
Una vez que la URL y el archivo fuente sean correctos y se estén descargando en index.html
, puedes detener la descarga (control + z) y cambie el archivo de salida usando:
-O "<specified download directory>/filename.extension"
después de la URL de origen.
En mi caso, esto resulta en descargar una ISO y almacenarla como un archivo binario en isofile.iso
, que con suerte aumenta.
man wget: -O archivo --output-documento de archivo =
wget "url" -O /tmp/cron_test/<file>
probar este método -
import os
path = raw_input("enter the url:")
fold = raw_input("enter the folder:")
os.system('wget -r -nd -l1 -P %s --no-parent -A mp3 %s'%(fold, path))