Version 3 (modified by iolaneandrade, 3 meses atrás) (diff)

--

ATENÇÃO: Fora de uso

#!/bin/bash
  
  # Baixadiario, baixa os DO's do site da Imprensa Nacional. Bruno Buys, dez-2005, out-2006.
  # Sob os termos da licensa GNU GPL, v2.0.
  # Adaptado por Márcio Vilas Boas, 11-set-2007
  
  # Apaga o arquivo anterior, deixando somente o do dia atual
  rm -f *.pdf

  ANO=`date +%Y`
  MES=`date +%m`
  DIA=`date +%d`
  
  
  # Baixa as paginas com a informacao do numero de pdf's das secoes do DO.
  
  for N in 1 2 3 ; do
  
         wget "http://www.in.gov.br/imprensa/jsp/jsp/jornaiscompletos/visualizacao/pdf/visualiza_pdf.jsp?jornal=do&secao="$N"&pagina=1&data="$DIA"/"$MES"/"$ANO""
  
         mv visua* index$N.htm   #Vamos guardar o index, depois, por conveniencia
  done
  
  #Isso salva os numeros de paginas que cada secao do DO tem.
  SEC1=`cat index1.htm |grep -o totalarquivos="[0-9]*[0-9]"|cut -c15-`
  SEC2=`cat index2.htm |grep -o totalarquivos="[0-9]*[0-9]"|cut -c15-`
  SEC3=`cat index3.htm |grep -o totalarquivos="[0-9]*[0-9]"|cut -c15-`
  
  funcao_pega_0a9(){
  
         for ((d=1;d<10;d++)) ; do
  
         wget http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf
  
         echo  "http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf" >> links.txt
  
         mv do"$1"-"$d".pdf `basename do"$1"-"$d".pdf "$d".pdf`00$d.pdf
  
         done
  }
  
  funcao_pega_10a99(){
  
  if [ $2 -le 100 ] ; then
  
         for ((d=10;d<$2;d++)) ; do
  
         wget http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf
  
         echo  "http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf" >> links.txt
  
         mv do"$1"-"$d".pdf `basename do"$1"-"$d".pdf "$d".pdf`0$d.pdf
  
         done
  fi
  
  if [ $2 -gt 100 ] ; then
  
         for ((d=10;d<100;d++)) ; do
  
         wget http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf
  
         echo "http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf" >> links.txt
  
         mv do"$1"-"$d".pdf `basename do"$1"-"$d".pdf "$d".pdf`0$d.pdf
  
         done
  fi
  }
  
  funcao_pega_restantes(){
  
         for ((d=100;d<$2;d++)) ; do
  
         wget http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf
  
         echo "http://www.in.gov.br/materias/pdf/do/secao"$1"/"$DIA"_"$MES"_"$ANO"/do"$1"-"$d".pdf" >> links.txt
  
         done
  
  }
  
  funcao_pega_secao_1(){
  funcao_pega_0a9 1
  funcao_pega_10a99 1 $SEC1
  funcao_pega_restantes 1 $SEC1
  }
  
  funcao_pega_secao_2(){
  funcao_pega_0a9 2
  funcao_pega_10a99 2 $SEC2
  funcao_pega_restantes 2 $SEC2
  }
  
  funcao_pega_secao_3(){
  funcao_pega_0a9 3
  funcao_pega_10a99 3 $SEC3
  funcao_pega_restantes 3 $SEC3
  }
  
  
  case $1 in
  
  secao1)
         funcao_pega_secao_1
  
  ;;
  secao2)
         funcao_pega_secao_2
  
  ;;
  secao3)
         funcao_pega_secao_3
  ;;
  *)
         funcao_pega_secao_1
         funcao_pega_secao_2
         funcao_pega_secao_3
  ;;
  esac
  
  
  #Opcional, pra quem tiver o pdfjoin (parte do pacote 'pdfjam', no Debian) instalado:
  
  pdfjoin `ls do1*.pdf` --outfile secao1.pdf
  pdfjoin `ls do2*.pdf` --outfile secao2.pdf
  pdfjoin `ls do3*.pdf` --outfile secao3.pdf
  pdfjoin `ls secao*.pdf` --outfile Diario_Oficial_Completo.pdf
  
  
  rm -f secao*.pdf
  rm -f do*.pdf 
  rm -f index*.htm
  rm -f links.txt
  exit 0

Anexos (1)

Download de todos os anexos como .zip

 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.