Проведя примерно час загрузки почти каждого пакета Msys от sourceforge, мне интересно, есть ли более умный способ сделать это. Можно ли использовать wget для этой цели?Как загрузить все файлы из определенного проекта Sourceforge?
6
A
ответ
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
Вы используете SVN | GIT, правильно? – sholsapp
Ну, я мог бы, но Msys не предлагал доступ SVN/Git, не так ли? – FFox
Это самый старый вопрос SO, который я видел без ответа lol – Assimilater