#opendata resultados #elecciones22M

miércoles, 25 de mayo de 2011
El pasado dia 22 de Marzo me lleve una grata sorpresa al consultar en el recientemente estrenado canal de politica de El Pais los resultados electorales de las recientes elecciones autonomicas y municipales. Al margen de los resultados, lo que me sorprendio fue la exposicion de dichos resultados en formato XML.

 

Visto esto, me decidi a realizar un breve experimento para explotar dichos datos. Supongamos que soy editor de la Wikipedia y quiero ir reflejando en tiempo real en cada una de las entradas de la Wikipedia relativas a los municipios, ciudades, pueblos, etc. donde se esta llevando a cabo el proceso electoral, una tabla con los resultados que se van obteniendo conforme va avanzando el escrutinio y se va actualizando en la web de El Pais. Nos seria bastante facil llevar a cabo la elaboración de una pequeña aplicación, que en base a la URL del municipio donde se estan exponiendo los datos abiertos del escrutinio, y la URL del mismo municipio en Wikipedia llevar a cabo la creación de una pequeña tabla resumen por ejemplo con dichos datos.

Concretamente, para este ejemplo he usado la URL asociada a los resultados de Cádiz:


donde en la URL el campo /11 identifica los digitos iniciales del codigo postal, y /12 identifica el identificador asociado en el combo desplegable de la aplicación web de El Pais donde se encuentra Cádiz. Sera factible sabiendo de antemano el total de municipios existentes en Cádiz invocar secuencialmente a este script para obtener todos los resultados modificando este ultimo valor.

Para procesar el XML liberado he usado SimpleXML de PHP y he formateado el resultado con la sintaxis de tablas de Wikipedia:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Leemos el contenido publicado
$url = 'http://resultados.elpais.com/elecciones/2011/municipales/01/11/12.xml2';

$fichero_url = fopen ($url, "r");
$texto = "";
while ($trozo = fgets($fichero_url, 1024)){
$texto .= $trozo;
}

// Usamos SimpleXML para procesar el XML obtenido
$xml = simplexml_load_string($texto);

// Formateamos el resultado como una tabla
echo '{| class="wikitable"
! Partido
! Concejales
! Votos
! Porcentaje';
foreach ($xml->resultados->partido as $partido)
echo '|-
|'.$partido->nombre.'|
|'.$partido->electos.'|
|'.$partido->votos_numero.'|
|'.$partido->votos_porciento.'%
|}';

Obteniendo este resultado una vez lo inserto dentro de Wikipedia:


Esto no es mas que un jueguete nuevo para experimentar (demo), pero podemos observar que efectivamente, la liberacion de datos publicos es muy util y da pie a infinidad de posibilidades. Si quereis ver muestras mas elaboradas, acceded a ver los finalistas del AbreDatos2011, algunos proyectos son sencillamente geniales.


Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

3 comentarios:

  • MD

    Gracias por tu post.

    Soy novato en programación y busco el mismo script pero para representar los datos en un fichero html/php, es decir, sin el formato de Wikipedia como lo muestras.

    ¿Cómo sería ese fichero?

    Un saludo,

  • Ildefonso Montero

    Identico al anterior, solo que a partir de la linea 14 tienes que cambiar el formato de salida de la orden 'echo' para ponerlo en formato 'html'.

    Saludos,

  • Publicar un comentario