Я хотел бы скачать все .mp3 файлы, которые связаны в.XML-файл, такой как этот: http://blog.iso50.com/audio/pl17/playlist-wordtube.xml
Есть ли инструмент для этого? Спасибо сара
Я хотел бы скачать все .mp3 файлы, которые связаны в.XML-файл, такой как этот: http://blog.iso50.com/audio/pl17/playlist-wordtube.xml
Есть ли инструмент для этого? Спасибо сара
Используйте аддон firfox: DownloadThemAll !!
Предполагая, что у вас есть доступ к двум инструментам, 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