Em Quarta-feira 13 Outubro 2010, às 22:27:18, roberval.sena@gmail.com escreveu:
> galera,Veja se te ajuda...
>
>
> eu to me batendo para criar um script que baixe 'uma tonelada' de
> arquivos PDF de um site, mas to apanhando horrores...
>
> acontece que pelo site já abaixa automaticamente, quando se acessa a
> página... eu não consigo "chegar lá"
>
> exemplo:
> estrando no navegador, se acesso a página:
> http://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=20&pagina=1&data="">
> 3/10/2010 ele automaticamente já baixa o arquivo.. da página 1
>
> é preciso fazer isso várias vezes, (as vezes mais de 2000), mudando a
> página para ter o arquivo completo...
>
> ai no bash fiz vários testes... mas nenhum deles abre a página
> 'seguinte', que é o download 'automático'..
>
>
> se alguém tiver uma dica de como fazer os downloads de uma 'tacada' só,
> agradeço!!
> DETALHE: ele sempre baixa o arquivo com o mesmo nome... teria que
> renomear na hora de gravar...
>
>
> []s Sena
=====
#!/bin/bash
if [ $# != 2 ]
then echo -e "\n\nUso: $0 dd/mm/aaaa NumeroJornal\n\n"
exit 0
fi
DATA=""> JORNAL="$2"
TEMPO_MENOR="2"
TEMPO_MAIOR="8"
DATA_DIR=`echo "$DATA" | sed 's/\//_/g'`
ANO=`echo $DATA_DIR|cut -d_ -f3`
MES=`echo $DATA_DIR|cut -d_ -f2`
DIA=`echo $DATA_DIR|cut -d_ -f1`
DATA_DIR="$ANO"_"$MES"_"$DIA"
mkdir -p "$DATA_DIR/$JORNAL"
touch "$$cookie$$"
trap "rm -f $$cookie$$; exit" INT TERM EXIT
USER="Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.1.9) Gecko/20100501 Iceweasel/3.5.9 (like Firefox/3.5.9)"
OPTS="--save-cookies=$$cookie$$ --load-cookies=$$cookie$$ --keep-session-cookies -c -q"
URLS=`wget $OPTS -U="$USER" "http://www.in.gov.br/visualiza/index.jsp?data="">" -o /dev/null -O - | grep src `
CONTROLADOR=`echo "$URLS" | grep -i controlador| cut -d\" -f4`
ARQUIVOS=`echo "$CONTROLADOR"|sed 's/\&/\n/g' | grep totalArquivos|cut -d= -f2`
if [ -z "$ARQUIVOS" ]
then
echo "Link inválido ou jornal inexistente ou data sem publicação. revise os links ou suas opções "
exit 1
fi
PAGINA=0
for PAGINA in `seq 1 $ARQUIVOS`
do
segundos=0
while [ "$segundos" -le $TEMPO_MENOR ]
do
segundos=$RANDOM
let "segundos %=$TEMPO_MAIOR"
done
URLS=`wget $OPTS -U="USER" "http://www.in.gov.br/visualiza/index.jsp?data="">" -o /dev/null -O - | grep src`
CONTROLADOR=`echo "$URLS" | grep -i controlador| cut -d\" -f4`
VISUALIZADOR=`echo "$URLS" | grep -i visualizador| cut -d\" -f4`
ARQUIVOS=`echo "$CONTROLADOR"|sed 's/\&/\n/g' | grep totalArquivos|cut -d= -f2`
if [ -z "$ARQUIVOS" ]
then
echo "Link inválido ou jornal inexistente ou data sem publicação. revise os links ou suas opções "
exit 1
fi
REFERER="http://www.in.gov.br/visualiza/navegaJornalSumario.jsp?jornal=$JORNAL&pagina=$PAGINA&data="">"
wget $OPTS -U="USER" --referer="$REFERER" "$VISUALIZADOR" -O $DATA_DIR/$JORNAL/$PAGINA.pdf
echo "$DATA_DIR/$JORNAL/$PAGINA.pdf pronto, aguardando $segundos segundos para a próxima página"
sleep $segundos
done
=====
[ ]'s, e divirta-se
Henry
Archive: [🔎] 201010141804.39188.jmhenrique@yahoo.com.br" target="_blank">http://lists.debian.org/[🔎] 201010141804.39188.jmhenrique@yahoo.com.br
--
To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org