Olá, Caros Colegas Estou desenvolvendo uma estratégia meio "malandra" para conseguir baixar grande quantidade de dados/fotos a partir de sites, que consiste em fazer parsing do código fonte da página inicial, para obter o endereço das páginas secundárias e fazer o parsing destas, e assim sucessivamente.
Faço isso porque, dependendo da programação da página, o //wget// ou similares não conseguem seguir os links (digamos que alguns sites meio que escondem o conteúdo). Minha pergunta de shell é a seguinte: "é possível, com um comando semelhante ao wget, carregar o conteúdo de uma página html diretamente para um pipe (sed, grep, etc) SEM gravar o arquivo em disco?" um script que eu fiz e funcionou deixou um monte de arquivos no disco (tudo bem, eu poderia ter apagado com um rm *.html no final), mas fico curioso para saber se existe uma maneira padrão de ler dados diretamente da web sem precisar gravar nada em disco durante a execução do script. Obrigado pela ajuda Helton script que cheguei a usar (pseudocódigo): ------------------------------------------------------------ wget www.site.com/index.html #baixa o index principal sed 's/parte.com.(link).html/\1/ g' > listaindex.txt #grava uma lista dos links encontrados na pagina principal for n in $(cat listaindex) do wget $n #baixa as páginas linkadas done egrep -o 'site.*html' *.html | sed -r 's#.*/([a-z_0-9]+?)\.html#\1#' | sort | uniq > listapages.txt #parsing de todos os links para subpastas encontrados nas páginas for page in $(cat listapages) do wget http://www.site.com/$page.html #baixa as páginas (código-fonte com mais links) a partir da lista de páginas gerada pelo parsing done for file in $(cat listanomes) do test -e $file || \ (mkdir $file; for f in $(egrep -o $file.*.jpg ./pages/$file.html | cut -d"/" -f2); #baixa todos os arquivos de interesse (no caso, jpeg) do pushd ./$file wget www.site.com/$page/$file #grava os arquivos em uma estrutura de diretórios semelhante à do site. popd done;) done [As partes desta mensagem que não continham texto foram removidas]