2010-08-02 6 views
6

Après avoir passé environ une heure à télécharger presque tous les paquets Msys de sourceforge, je me demande s'il existe une façon plus intelligente de le faire. Est-il possible d'utiliser wget dans ce but?Comment télécharger tous les fichiers d'un projet Sourceforge spécifique?

+0

Vous utilisez SVN | GIT, non? – sholsapp

+0

Eh bien, je pourrais mais Msys n'offre pas l'accès SVN/Git, n'est-ce pas? – FFox

+0

Ceci est la plus ancienne question SO que j'ai vu sans réponse lol – Assimilater

Répondre

1

Je l'ai utilisé ce script avec succès:

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

Pour vos joggings d'utilisation:

sourceforge-file-downloader.sh msys 

Il doit télécharger toutes les pages d'abord trouver alors les liens réels dans les pages et télécharger les fichiers finaux.

De la description du projet:

vous permet de télécharger tous les fichiers d'un projet sourceforge. Télécharge vers le répertoire courant dans un répertoire nommé comme le projet. Passez le nom du projet en tant que premier argument, par exemple ./sourceforge-file-download.sh Inkscape pour télécharger tous http://sourceforge.net/projects/inkscape/files/

Juste au cas où le repo se retire jamais je posterai ici car il est assez court:

#!/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 
Questions connexes