2010-08-02 15 views
6

Después de pasar aproximadamente una hora descargando casi todos los paquetes Msys de sourceforge, me pregunto si existe una forma más inteligente de hacerlo. ¿Es posible usar wget para este propósito?¿Cómo descargar todos los archivos de un proyecto específico de Sourceforge?

+0

Estás utilizando SVN | GIT, ¿verdad? – sholsapp

+0

Bueno, podría pero Msys no ofrece acceso SVN/Git, ¿o sí? – FFox

+0

Esta es la pregunta más antigua que he visto sin respuesta jajaja – Assimilater

Respuesta

1

he utilizado con éxito este script:

https://github.com/SpiritQuaddicted/sourceforge-file-download

Para su uso ejecución:

sourceforge-file-downloader.sh msys 

Debe descargar todas las páginas primera y luego encontrar los enlaces reales en las páginas y descarga los archivos finales.

De la descripción del proyecto:

Le permite descargar todos los archivos de un proyecto en Sourceforge. Descargas al directorio actual en un directorio llamado como el proyecto. Pasar el nombre del proyecto como primer argumento, por ejemplo ./sourceforge-file-download.sh Inkscape para descargar todos http://sourceforge.net/projects/inkscape/files/

Sólo en caso de la cesión temporal alguna vez se retira voy a publicar aquí, ya que es lo suficientemente corto como:

#!/bin/sh 

project=$1 
echo "Downloading $project's files" 

# download all the pages on which direct download links are 
# be nice, sleep a second 
wget -w 1 -np -m -A download http://sourceforge.net/projects/$project/files/ 

# extract those links 
grep -Rh direct-download sourceforge.net/ | grep -Eo '".*" ' | sed 's/"//g' > urllist 

# remove temporary files, unless you want to keep them for some reason 
rm -r sourceforge.net/ 

# download each of the extracted URLs, put into $projectname/ 
while read url; do wget --content-disposition -x -nH --cut-dirs=1 "${url}"; done < urllist 

rm urllist 
Cuestiones relacionadas