-1

Я хотел бы скачать все .mp3 файлы, которые связаны в.XML-файл, такой как этот: http://blog.iso50.com/audio/pl17/playlist-wordtube.xml

Есть ли инструмент для этого? Спасибо сара

2 ответа2

1

Используйте аддон firfox: DownloadThemAll !!

0

Предполагая, что у вас есть доступ к двум инструментам, wget и Perl , получите файл playlist-wordtube.xml с помощью команды:

$ wget http://blog.iso50.com/audio/pl17/playlist-wordtube.xml

Теперь вы можете увидеть файлы, которые должны быть загружены из файла playlist-wordtube.xml со следующим скриптом Perl:

$ perl -e 'while (<>) {if (/mp3<\/location>/) {s/^[^<]+<location>(.*)<\/location>/$1/; print;}}' < playlist-wordtube.xml | head
http://blog.iso50.com/audio/pl17/01-Awake.mp3
http://blog.iso50.com/audio/pl17/02-GardensVilla-Bullet-Train.mp3
http://blog.iso50.com/audio/pl17/03-Antiphon.mp3
http://blog.iso50.com/audio/pl17/04AtomsForPeace-Dropped.mp3
http://blog.iso50.com/audio/pl17/05Veaquis1.mp3
http://blog.iso50.com/audio/pl17/06Jade1.mp3
http://blog.iso50.com/audio/pl17/07JonHopkins.mp3
http://blog.iso50.com/audio/pl17/08MadmenLove.mp3
http://blog.iso50.com/audio/pl17/09Jet1.mp3
http://blog.iso50.com/audio/pl17/10Spiral.mp3

Изменив print на wget в приведенном выше скрипте perl , у нас есть ответ на ваш вопрос:

$ perl -e 'while (<>) {if (/mp3<\/location>/) {s/^[^<]+<location>(.*)<\/location>/$1/; `wget $_`;}}' < playlist-wordtube.xml
[LOTS OF INTERNET FILE TRANSFER HANDSHAKING MESSAGES]
$ ls -1 | head
01-Awake.mp3
02-GardensVilla-Bullet-Train.mp3
03-Antiphon.mp3
04AtomsForPeace-Dropped.mp3
05Veaquis1.mp3
06Jade1.mp3
07JonHopkins.mp3
08MadmenLove.mp3
09Jet1.mp3
10Spiral.mp3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .