Em Quarta-feira 13 Outubro 2010, às 22:27:18, roberval.s...@gmail.com escreveu: > galera, > > > 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=1 > 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
Veja se te ajuda... ===== #!/bin/bash if [ $# != 2 ] then echo -e "\n\nUso: $0 dd/mm/aaaa NumeroJornal\n\n" exit 0 fi DATA="$1" 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=$DATA&jornal=$JORNAL&pagina=1" -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=$DATA&jornal=$JORNAL&pagina=$PAGINA" -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=$DATA&totalArquivos=$ARQUIVOS" 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 -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/201010141804.39188.jmhenri...@yahoo.com.br