Algo parecido com isto?
for i in {7101..7200} ; do wget -q -O - http://www.ellinofreneianet.gr/sound.php\?id\=$i | grep ".=podcast/." ; done
As opções wget
são -q
quiet, não mostram progresso, etc, e -O -
escrevem a saída para stdout.
Nem toda página tem um link de mp3 lá; Alguns até mostram uma página que pode ser a página de erro 404. As páginas a partir de 0 também parecem vazias.
As páginas vazias têm URLs que terminam em podcast/"
, por isso podemos excluí-las com sequências de correspondência que não têm "
lá:
... | grep ".=podcast/[^\"]"
Para obter apenas os .mp3
URLs, use
... | grep -o 'bitsnbytesplayer.php.*\.mp3'
Você descobriu como enviar o URL da página antes de cada URL de mp3. Aqui está uma variante do otimizador, usando apenas uma solicitação HTTP por página:
for i in {7100..7200} ; do \
wget -q -O - http://www.ellinofreneianet.gr/sound.php\?id\=$i | \
grep -o 'bitsnbytesplayer.php.*\.mp3' && \
echo http://www.ellinofreneianet.gr/sound.php\?id\=$i ; done | sed -n 'h;n;p;g;p'
O && echo ...
imprime o URL se o grep tiver encontrado um URL de mp3. O comando sed
muda a ordem dos pares de linhas.