Nachdem ich ungefähr eine Stunde lang fast jedes Msys-Paket von sourceforge heruntergeladen habe, frage ich mich, ob es einen clevereren Weg dafür gibt. Ist es möglich, wget für diesen Zweck zu verwenden?Wie lade ich alle Dateien eines bestimmten Sourceforge-Projekts herunter?
6
A
Antwort
1
Ich habe das Skript erfolgreich eingesetzt:
https://github.com/SpiritQuaddicted/sourceforge-file-download
Für Ihre Nutzung Lauf:
sourceforge-file-downloader.sh msys
Es alle Seiten die aktuellen Links auf den Seiten und Download finden erster dann herunterladen sollten die endgültigen Dateien.
Aus der Projektbeschreibung:
Hier können Sie alle eine Sourceprojektdatei zum Download bereit. Lädt das aktuelle Verzeichnis in ein Verzeichnis mit dem Namen des Projekts herunter. Übergeben Sie den Namen des Projekts als erstes Argument, zB ./sourceforge-file-download.sh inkscape zum Download alle http://sourceforge.net/projects/inkscape/files/
Nur für den Fall der Repo jemals entfernt wird ich werde es hier posten, da es kurz genug:
#!/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
Sie verwenden SVN | GIT, oder? – sholsapp
Nun, ich könnte, aber Msys bietet nicht SVN/Git Zugang, oder? – FFox
Dies ist die älteste SO Frage, die ich ohne Antwort gesehen habe lol – Assimilater