2010-08-02 3 views
6

Проведя примерно час загрузки почти каждого пакета Msys от sourceforge, мне интересно, есть ли более умный способ сделать это. Можно ли использовать wget для этой цели?Как загрузить все файлы из определенного проекта Sourceforge?

+0

Вы используете SVN | GIT, правильно? – sholsapp

+0

Ну, я мог бы, но Msys не предлагал доступ SVN/Git, не так ли? – FFox

+0

Это самый старый вопрос SO, который я видел без ответа lol – Assimilater

ответ

1

Я использовал этот сценарий успешно:

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

Для вашего использования пробега:

sourceforge-file-downloader.sh msys 

Он должен загрузить все страницы первой затем найти действительные ссылки на страницы и загрузки окончательные файлы.

Из описания проекта:

Позволяет скачивать все файлы SourceForge проекта. Загрузки в текущий каталог в каталог, названный как проект. Передайте название проекта в качестве первого аргумента, например ./sourceforge-file-download.sh Inkscape, чтобы загрузить все http://sourceforge.net/projects/inkscape/files/

Только в том случае, когда репо получает удален, я выложу его здесь, так как это достаточно короткое:

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

 Смежные вопросы

  • Нет связанных вопросов^_^