Em Dezembro de 2008 demos inicio a um projecto “tretas.org“. O objectivo principal deste projecto é a recolha de informação de fontes confiáveis, ou pelo menos que tenham um mínimo de escrutínio, sobre o que se vai passando em Portugal a nível da corrupção, do envolvimento dos políticos em negócios menos claros, sobre o desperdício na administração do estado, etc.
Partimos da premissa que a informação está de uma forma geral disponível, nos jornais, na legislação, nos documentos oficiais e que esta necessita apenas de ser reunida e analisada de uma forma crítica para podermos formar um panorama muito aproximado ao que se passa na realidade. Pretendemos que esta recolha e interpretação da informação se faça de forma independente dos ciclos políticos e que, finalmente, seja apresentada de uma forma fácil de acompanhar.
É claro que uma actividade como esta não é nada de novo, as empresas de cliping existem para isto mesmo. No entanto o cidadão comum não tem possibilidades na sua vida diária de analisar a fundo um dossier como por exemplo o Caso dos Submarinos que tem a sua génese quase há 15 anos, em 1998, com inúmeras ligações a várias pessoas e organizações. E ainda menos possibilidades tem de pagar a um terceiro para que este o faça por ele. Com este projecto, um resumo fácil de acompanhar fica à distância de um clic. Consegue-se desta forma anular alguma da desvantagem em termos de acesso à informação que os cidadãos têm em relação aos políticos, aos partidos e às grandes empresas. Pensamos que é uma ferramenta necessária.
No decorrer desta actividade rapidamente percebemos a necessidade de aceder a documentos vertidos nos Diários da República. Infelizmente o site do Diário da República Electrónico tem problemas de utilização que o tornam quase inútil para o utilizador comum a menos que tenha o número do documento desejado. Ora, justamente, a maior parte das vezes procuram-se documentos sobre um dado assunto sem sabermos o número do mesmo.
Assim fomos levados a desenvolver nos últimos meses um scraper de parte do Diário da República Electrónico. Neste momento a base de dados conta com mais de trezentos mil documentos, entre leis, decretos lei, avisos, etc. Pode consultar o resultado deste esforço no seguinte endereço:
Os objectivos iniciais eram:
a) Conseguir aceder ao site usando o nosso scraper;
b) Identificar a página de cada documento;
c) Guardar a informação recolhida numa base de dados.
Ou seja, tínhamos que aprender a copiar o DRE…
Os documentos estão disponíveis através de um sub-sistema do dre.pt, designado como “Digesto”, disponível no seguinte endereço a partir da página principal do DRE:
- Endereço (1): http://www.dre.pt/sug/digesto/rgratis.asp?reg=PCMLex
As nossas dificuldades começaram imediatamente. Quando clicamos na ligação “Diplomas no Digesto” somos redireccionados para um endereço diferente daquele em que clicamos. Pior que tudo, o endereço que obtemos está de alguma forma ligado a uma sessão no servidor. É fácil de verificar isso, se clicarem aqui, serão redireccionados para um endereço do tipo:
- Endereço (2): http://digestoconvidados.dre.pt/digesto/%28S%28k3mihealwspomeb3acne5sij%29%29/Paginas/PesquisaDetalhada.aspx
Deverão obter um diálogo de busca parecido ao seguinte:
Se repararem no endereço onde vão parar, a certa altura, temos uma secção com caracteres aparentemente aleatórios entre parêntesis, neste caso a cadeia gerada foi: (S(k3mihealwspomeb3acne5sij)). Esta cadeia parece identificar a referida sessão. Experimentem agora a modificar um carácter e a recarregar a página. Vão obter:
Esta é uma mensagem que aparece muitas vezes no dre.pt.
Evidentemente, o passo seguinte será extrair esta cadeia de caracteres para pudermos aceder de alguma forma aos documentos.
Se obtivermos a página para onde o endereço 1 aponta (usando por exemplo a ferramenta wget), verificamos que somos redireccionado para o endereço:
Estranhamente, este endereço ainda não corresponde ao endereço 2. De facto, se acedermos a este endereço, é-nos devolvido um código http 302, este é um código de redireccionamento, neste caso para:
- Endereço (4): http://digestoconvidados.dre.pt/digesto/(S(k3mihealwspomeb3acne5sij))/Main.aspx?Database=LEX
Já conseguimos, neste ponto, obter a nossa cadeia de caracteres! Mas ainda não temos o endereço 2. Na realidade obtivemos ainda outro código http 302 antes de chegarmos à página da pesquisa. Somos redireccionados três vezes antes de chegar ao destino.
Estamos prontos a começar a descarregar os documentos a partir do dre.pt. O endereço de cada documento é do tipo:
- Endereço (5): http://digestoconvidados.dre.pt/digesto/(S(keas3kmntewjiy45qhklmniy))/Paginas/DiplomaDetalhado.aspx?claint=282830
Se repararmos, o único parâmetro usado é o claint, que é um valor inteiro. Assim o que fizemos foi começar com o documento com claint=1 e continuar dai para a frente, até não termos mais documentos. Pelo menos pensámos que iria ser assim. Quase imediatamente começámos a obter erros.
Um dos erros era fácil de ultrapassar, se à primeira não conseguíamos obter o documento, então tentávamos uma e outra vez até conseguirmos descarregar
o ficheiro (estabelecemos 5 tentativas como limite a partir do qual desistíamos do documento). Em 305982 documentos, falhámos desta forma a leitura de 2393 o que, tendo em conta o dre.pt, é bastante bom (vamos em breve tentar obter estes documentos que faltam, poderão ou não existir na base de dados).
Já o segundo problema com que nos deparámos, foi mais surpreendente. Notámos que o nosso endereço para obtenção dos documentos cessava de funcionar ao fim de um certo tempo (se obtiver um documento e o for consultar no outro dia, este já não vai funcionar). Os endereços que apontam para o resumo dos documentos pura e simplesmente deixavam de funcionar.
Isto tem a consequência de tornar estes endereços inúteis e, claro, estorvava o nosso esforço para copiar o DRE. Facilmente se ultrapassou este problema definindo um período de tempo ao fim do qual se obtém uma nova sessão.
Resolvido este último problema, o processo de obtenção dos dados decorreu sem percalços de maior.
O trabalho que tivemos ilustra de uma forma categórica a dificuldade que os cidadãos têm em aceder aos dados do estado, ou seja, aos seus próprios dados. Esta é uma situação insustentável numa sociedade que se queira aberta e democrática.
Toda a informação do estado, passível de estar disponível publicamente, devia idealmente ser acessível usando interfaces simples quer para utilizadores humanos quer para ferramentas de análise e processamento de dados. Desta forma seria o cidadão a decidir a forma de utilização da informação.