shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] off-topic busca no site do diário oficial


From: Reinaldo Carvalho
Subject: Re: [shell-script] off-topic busca no site do diário oficial
Date: Wed, 11 Oct 2006 10:45:11 -0300

Bem... vai um patch... (nao testado) para evitar tentativa de
downloads de arquivos inexistentes.



#!/bin/bash

get_pagina () {
     for pagina in `seq 1 200` ; do
url="http://www.in.gov.br/materias/pdf/do/secao${secao}/${dia}_${mes}_2006/do$secao-$pagina.pdf";
         wget $url || return 0
      done
}

for mes in 08 ; do
       for dia in `seq -w 1 31` ; do
               mkdir 2006$mes$dia
               cd 2006$mes$dia
               for secao in 1 2 3 ; do
                   get_pagina
               done
               cd ..
       done
done



On 10/10/06, box_ferrari <address@hidden> wrote:

Bom dia lista.

Há uns 10 dias precisei procurar uma resolução do MAPA no Diário
Oficial da União. Eu sabia extamente o dia em que ela foi publicada,
mas foi um martírio encontrar a bendita.

Isso graças a péssima organização do site, que agrupa o DOU por
págianas em formato PDF e obriga ao usuário saber em qual seção e
página o bendito texto foi publicado, o que por sua vez faz com que o
infeliz compulsóriamente tenha que baixar praticamente toda a
publicação de um dia, página a página, para encontrar o que precisa.

Eis que então o ilustríssimo colega Ricardo Bánffy passa pelo mesmo
problema e nos brinda com o artigo abaixo
http://www.dieblinkenlights.com/artigos/superpoderesUteis/html.

Para resolver o problema, ele criou o script abaixo, que serve para
baixar, com incrível facilidade, todas as páginas do dia e tornar
menos penoso o processo de acesso à informação oficial do nosso
querido governo.

#!/bin/bash

for mes in 08 ; do
        for dia in `seq -w 1 31` ; do
                mkdir 2006$mes$dia
                cd 2006$mes$dia
                for secao in 1 2 3 ; do
                        for pagina in `seq 1 200` ; do

url="http://www.in.gov.br/materias/pdf/do/secao${secao}/${dia}_${mes}_2006/do$secao-$pagina.pdf";
                                wget $url
                        done
                done
                cd ..
        done
done


O script, com o devido mérito ao Ricardo, embora criativo não tem nada
de especial, mas me chamou a atenção para um detalhe muito importante.
A necessidade de se "sair do quadrado" e olhar as coisas por ângulos
diferentes.

Mesmo conhecendo um pouco de shell script e tendo, teoricamente,
conhecimento suficiente para fazer algo parecido com o que o Ricardo
fez, quando eu me deparei com o obstáculo da des-"organização" do site
do DOU, me resignei a reclamar da vida e procurar alguém que tivesse
uma cópia impressa do dia que me interessava. Não sei o que seria mais
trabalhoso: baixar manualmente todas as páginas, ou encontrar a
bendita cópia impressa.

Jamais, em momento algum, cogitei a possibilidade de fazer um script
como o acima para resolver meu problema.

Disso, tiro 3 lições:

1. Que os famosos ditos "a necessidade é a mãe da criatividade" e "se
não existe uma solução simples para um problema, não existe solução",
são verdades tão absolutas quanto a lei da gravidade.

2. Que não basta o conhecimento técnico, mas é necessário também senso
crítico, capacidade de análise e acima de tudo, criatividade e

3. Que o windows, com o devido respeito, a exemplo da nicotina, vicia
e faz muito mal à saude. Anos e anos neste ambiente levam a gente a
truncar o nossa mente, raciocinando sempre dentro do mesmo quadrado e
aceitando o paradigma de que se algo não está disponível, é porque não
pode ser feito. Pelo menos comigo, aconteceu assim.

Resolvi escrever o post, com o perdão de ser off-topic, para
compartilhar com os colegas a alegria de poder ver a luz!







---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


Links do Yahoo! Grupos











--
Reinaldo Carvalho
Debian Sarge 3.1 - Linux User: #238310
Prodepa - address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]