
Este script BashEstá bien descargar sólo unos pocos archivos, pero necesito descargar más de cien.VisualWGetPuede descargar un archivo de archivos, pero no puede cambiarles el nombre.
¿Alguien conoce una utilidad de Windows que tomaría una lista de texto de dos columnas donde la columna 1 contendría la URL completa del archivo y la columna 2 contendría el nombre que se usará para cambiar el nombre?
Respuesta1
También puede utilizar Download Accelerator Plus (DAP) para realizar la descarga y cambiar el nombre.
Sólo necesita crear una lista DAP, importarla a la aplicación, seleccionar la carpeta en la que desea guardar los archivos y dejar que haga el trabajo.
Para crear una lista DAP, simplemente abra un editor de texto e ingrese lo siguiente para cada archivo que desee descargar:
<filelist_index><fileinfo>
<filename>FILENAME.EXT</filename>
<url>FULL_URL_TO_FILE</url>
</fileinfo></filelist_index>
Reemplace FILENAME.EXT con el nombre de archivo que desee (no olvide la EXTENSIÓN del archivo). Simplemente use MS Excel para consolidar el código, luego cópielo y péguelo en un archivo de texto y guárdelo como un archivo XXX.DAP. Aquí hay una hoja de cálculo de muestra:http://ge.tt/6sO1B2g
Respuesta2
O, usando Windows PowerShell...
$folder = "D:\Output\"
$userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
$web = New-Object System.Net.WebClient
$web.Headers.Add("user-agent", $userAgent)
$input = "D:\todownload.txt"
$delimit = " "
Get-Content $input |
Foreach-Object {
$line = $_.split($delimit);
$destination_file = ([io.path]::getfilename($line[1]))
"[" + $destination_file + "]" + "Downloading " + $line[0]
try {
$target = join-path $folder $destination_file
$web.DownloadFile($line[0], $target)
} catch {
$_.Exception.Message + ": " + $destination_file
add-content (join-path $folder ("downloader" + ".log")) ("[" + $destination_file + "] " + $_.Exception.Message)
add-content (join-path $folder ("downloader" + ".retry")) ($line -join " ")
}
}
El archivo de entrada (todownload.txt) tiene el formato:
http://path.to.download.com/file.jpg 0001_NewFileName_file.jpg
Respuesta3
Puedes darle una oportunidad a la extensión de Firefox¡Bájenlos a todos!. Puede descargar varios enlaces de una página, puede filtrar la lista de descargas y también aplicar un patrón de cambio de nombre.
Respuesta4
perl -MLWP::Simple -n -e '($u,$n)=split;getstore($u,$n)' filenames.txt
(Probado OK)
donde nombres de archivo.txt contiene algo como
http://foo.com/a/b?parm=x this.dat http://bar.org//d/e/f.html eso.html
El mismo guión en formato más largo.
#!/usr/bin/perl utilizar estricto; utilizar advertencias; utilizar LWP::Simple; abre mi $fh, '<', "filenames.txt" o muere "no puedo leer filenames.txt porque $!\n"; mientras () { mi ($url, $nuevo nombre) = dividir; getstore($url, $nuevo nombre); }
(No probado)