Pular para o conteúdo

Diário Oficial da União - Download facilitado

Muitas pessoas necessitam baixar o Diário Oficial da União com regularidade, e o site da Imprensa Nacional não facilita muito as coisas.

No meu mundo perfeito haveria um servidor torrent oficial para a divulgação, o que permitiria o download sem sobrecarregar a banda da Imprensa Nacional, mas enquanto isso não acontece, disponibilizo um pequeno script para permitir o download de forma facilitada.

Detalhe importante: o script faz uso do navegador Chromium (o google-chrome não serve). Se quiser o download em um único arquivo, sugiro também instalar o aplicativo pdftk. Caso ele esteja disponível, o script junta automaticamente todas as páginas em um único PDF.

Observações: o processo é relativamente lento (+ ou - 40min. aqui, num link de 4Mbps), acredito que mais pelo fato da grande quantidade de conexões (uma para cada página do D.O.U.) do que pela largura de banda em si.

Além disso, o script cria uma janela por página a ser baixada (e a fecha automaticamente) o que significa que, até o final do script, você terá uma janela do chromium-browser "pipocando" em sua tela.

Se quiser usar o computador ao mesmo tempo, sugiro que, antes de rodar o script, marque a janela desejada para manter-se "sempre no topo".
Valtoir dos Santos Jardim valtoir
Hits: 21.382 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Muitas pessoas necessitam baixar o Diário Oficial da União com regularidade, e o site da Imprensa Nacional não facilita muito as coisas.

No meu mundo perfeito haveria um servidor torrent oficial para a divulgação, o que permitiria o download sem sobrecarregar a banda da Imprensa Nacional, mas enquanto isso não acontece, disponibilizo um pequeno script para permitir o download de forma facilitada.

Detalhe importante: o script faz uso do navegador Chromium (o google-chrome não serve). Se quiser o download em um único arquivo, sugiro também instalar o aplicativo pdftk. Caso ele esteja disponível, o script junta automaticamente todas as páginas em um único PDF.

Observações: o processo é relativamente lento (+ ou - 40min. aqui, num link de 4Mbps), acredito que mais pelo fato da grande quantidade de conexões (uma para cada página do D.O.U.) do que pela largura de banda em si.

Além disso, o script cria uma janela por página a ser baixada (e a fecha automaticamente) o que significa que, até o final do script, você terá uma janela do chromium-browser "pipocando" em sua tela.

Se quiser usar o computador ao mesmo tempo, sugiro que, antes de rodar o script, marque a janela desejada para manter-se "sempre no topo".
Download diof.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Versões atualizadas deste script

Valtoir dos Santos Jardim

Versão 2 enviada por Valtoir dos Santos Jardim em 13/12/2010

Changelog: Publiquei o script no VOL num dia, e logo em seguida uma atualização do chromium passou a exigir confirmação para o download de arquivos PDF, o que praticamente inviabiliza a automação. Após testar vários browser, adaptei o script para fazer uso do navegador Arora, que me pareceu a melhor opção. Basta instalar o Arora e configurá-lo para memorizar o download automático de arquivos PDF, dando atenção também à pasta de downloads padrão .

Download 1292241763.diof.sh

Valtoir dos Santos Jardim

Versão 3 enviada por Valtoir dos Santos Jardim em 27/02/2011

Changelog: O script agora faz uso do Arora ao invés do chromium, que nas útlimas versões passou a exigir confirmação para download de arquivos pdf. Também não é mais preciso informar a pasta de download.

Download 1298840798.diof.sh

Esconder código-fonte

#!/bin/bash
#    autor: Valtoir dos Santos Jardim
#   e-mail: valtoirjardim_at_gmail_dot_com
#     data: 04/dez/2010
#   versão: ~ 0.99
#   Espero que esse script lhe seja útil. Para variar, se quiser um script inútil dê uma olhada em
#                 http://www.vivaolinux.com.br/scripts/download.php?arquivo=feet.sh

echo -e "\e[31;1m\nIMPORTANTE: para que o script funcione, é necessário que o chromium esteja configurado para NÃO perguntar onde salvar os arquivos.\e[m"

valida_data() {
VDATA="$(echo $1 | cut -d/ -f2)/""$(echo $1 | cut -d/ -f1)/""$(echo $1 | cut -d/ -f3)"
   [ $(date -d $VDATA +"%u") -gt 5 ] && {
      echo -e "\e[31;1m\nA data especificada é um $(date -d $VDATA +"%A")," \
      "e o Diário Oficial da União não circula aos $(date -d $VDATA +"%A")s.\n"\
      "\bTente usar o parâmetro \"-dDATA\". Por exemplo: \e[34;1m$0 -d14/12/2010\n\e[m"
      exit
   }
}

which chromium-browser > /dev/null || {
   echo -e "\e[31;1m\nEsse script requer o  browser chromium (http://code.google.com/intl/pt-BR/chromium/)."\
   " Não, o \"Google Chrome\" não serve. :-)\n\e[m"
   exit
}

SECAO="1 2 3"

while getopts d:f:ujh PARAMS; do
   case "${PARAMS}" in
      d) DATA="${OPTARG}";;
      f) DIR="${OPTARG}";;
      u) SECAO="${SECAO} 20";;
      j) SECAO="${SECAO} 126";;
      h) echo -e "\nScript feito para download do Diário Oficial da União." \
                 "Parâmetros:\n" \
                 "-d Especifica a data do DOU, no format dd/mm/aaaa. Ex: 14/12/2010\n" \
                 "-f Especifica a pasta padrão de downloads do chromium\n" \
                 "-u Baixa, além das Seções 1, 2 e 3, o Diário da Justiça - Seção Única\n" \
                 "-j Baixa, além das Seções 1, 2 e 3, o Diário da Justiça Federal da Primeira Região\n"
                 exit;;
   esac
done 

: ${DATA:=$(date +"%d/%m/%Y")}

valida_data $DATA

[ -z $DIR ] && DIR="/home/$USER/Downloads/"; echo -e "\e[31;1m\nPasta de downloads do chromium não informada. Espero que seja ${DIR}\n" \
   "\bSe a pasta de download for outra, defina-a com o parâmetro -f. \e[34;1mEx: $0 -f/home/fulano/Downloads/\e[m\n"

wget -O - "http://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=1&pagina=1&data=$14/07/2011" |\
   grep "o foi encontrado nenhuma arquivo para os par" && {
   echo -e "\e[31;1m\nAparentemente não há edição do Diário Oficial da União no dia desejado (feriado, talvez?).\n\e[m"
   exit
}

for JORNAL in $SECAO; do
   PAG=$(wget -O - "http://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=${JORNAL}&pagina=1&data=$14/07/2011" |\
      grep "totalArquivos=" | sed 's/^.*totalArquivos=//' | sed 's/".*$//')
   for PAGINA in $(seq 1 $PAG); do
      chromium-browser --app="http://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=${JORNAL}&pagina=${PAGINA}&data=$14/07/2011"&
      while [ ! -e ${DIR}INPDFViewer.pdf ]; do
         sleep 1
      done
      mv ${DIR}INPDFViewer.pdf ${DIR}jornal_${JORNAL}_-_$PAGINA.pdf
      /bin/kill -15 $!
   done
done

which pdftk > /dev/null && {
   pdftk $(ls -tr ${DIR}/jornal*.pdf) cat output DOU_${DATA//\//_}.pdf
   rm ${DIR}/jornal_*.pdf
   echo -e "\e[31;1m\nPronto!\e[34;1m O arquivo DOU_${DATA//\//_}.pdf foi salvo nessa pasta.\n\e[m"
   grep -m1 -A2 "inútil" $0
   exit
}

echo -e "\e[31;1m\n Pronto!\e[34;1m Os arquivos foram salvos na pasta ${DIR}, um por página.\n" \
   "Se preferir ter todo o Diário Oficial da União em um único arquivo, instale o aplicativo \"pdftk\" e, \n" \
   "ao rodar esse script, você o terá, nessa pasta, com o nome DOU_${DATA//\//_}.pdf.\n\e[m"
   grep -m1 -A2 "inútil" $0
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Kit de Scripts para Backup (Full + Diferencial + SMBmount + Rede) - Atualizado

Localizar e excluir linhas repetidas em um arquivo texto

Gerando ISO com o camando dd, e exibindo "barra de progresso".

Linkswitch (The POG)

Script p/ instalar modem onboards

#1 Comentário enviado por valtoir em 13/12/2010 - 10:06h
Alterei o script para utilizar o browser Arora, pois o chromium mais atual passou a exigir confirmação de download de PDFs. A alteração deve ser publicada em breve.
#2 Comentário enviado por valtoir em 02/03/2011 - 13:32h
Ainda esperando pela liberação da versão mais atual pelo VOL... Com a ajuda de Walter Tominaga, o tempo de download de foi reduzido de 44 para 12min.
#3 Comentário enviado por mpivoto em 05/04/2011 - 05:19h
Seria possivel adaptar para baixar o Diario Oficial de São Paulo?
#4 Comentário enviado por ademirff63 em 03/01/2013 - 23:56h
Diário Oficial da União – pdf completo (todas as páginas) compactado no formato zip:

IN-Jornal 1 - http://goo.gl/s2GRn
IN-Jornal 2 - http://goo.gl/wgs1Y
IN-Jornal 3 - http://goo.gl/sO9ya

OBS: Atualizado diariamente no período da manhã.( Já que estou fazendo, porque não tornar público o acesso?)
#6 Comentário enviado por ademirff63 em 05/02/2013 - 17:38h
Melhorando e facilitando ainda mais, criei o site:

http://diariooficial.kissr.com

Nele disponibilizo diariamente os arquivos completos e compactados da Imprensa Nacional ( Diário Oficial da União) e da Imprensa Oficial do Estado de São Paulo (Díario Oficial do Estado de SP), para download.
#7 Comentário enviado por jranesio em 27/02/2013 - 11:22h
Excelente, parabéns.

Gostaria de saber se alguém possui algum script que permita fazer pesquisa direto e automatizada no Diário Oficial
#8 Comentário enviado por ademirff63 em 11/03/2013 - 14:14h
Enviei para o vivaolinux.com.br um script para fazer download do diario oficial da união, que gera um pdf único do DOU desejado (seção 1,2,3,20 ou 1010) e, em função da pergunta acima, logo em seguida enviei o script com algumas alterações para permitir a consulta de palavras de forma automatizada. Os dois scripts estão "em espera", aguardando serem publicados.
#9 Comentário enviado por jranesio em 13/03/2013 - 08:39h
Obrigado Ademir,
assim que tiver um tempo vou testar.
#10 Comentário enviado por mpc_94 em 31/08/2015 - 09:23h
Bom dia!! Alguem poderia mandar um link de download funcionando? Esses estão quebrados ;(
Obrigado!!

Contribuir com comentário

Entre na sua conta para comentar.