Eu não acho que você pode. Afinal de contas, usar a opção de download recursivo -r
basicamente pede ao wget para procurar por links (em -l
levels), e links são encontrados somente em arquivos html. Portanto, o wget precisa fazer o download e analisar os arquivos html, procurando links para mais arquivos html e arquivos mp3.
Se você já criou uma lista de links, por que você não usa apenas fgrep ".mp3"
para criar uma nova lista com apenas arquivos mp3, e usa isso como link_source_file para wget? Como o wget não baixará nenhum arquivo html, ele não encontrará mais links, então você pode soltar o -r -l
e provavelmente algumas outras opções também - apenas mantenha -i
(e -A
, embora a lista já seja apenas contém apenas arquivos mp3). Use a opção -x
para forçar a criação de uma hierarquia de arquivos, mesmo sem -r
.
Em suma, se você quiser percorrer um site recursivamente, você deve permitir que o wget baixe e analise arquivos html, mesmo que não os mantenha.
Uma alternativa seria usar o wget para baixar apenas alguns níveis de arquivos html. Em seguida, colha os links desses arquivos manualmente e crie uma lista com todos os arquivos mp3 que você encontrou (lynx, sed e fgrep seriam de grande ajuda para isso). Ou se você souber algo sobre a organização do site, gere uma lista dos arquivos desejados de alguma outra forma (por exemplo, usando um shellscript para criar uma lista com linhas como:
http://www.sagar.com/1/song.mp3
http://www.sagar.com/2/song.mp3
http://www.sagar.com/3/song.mp3
http://www.sagar.com/100/song.mp3