Infoelectoral
Intérprete de microdatos electorales del Ministerio del Interior español.
Install / Use
/learn @JaimeObregon/InfoelectoralREADME
infoelectoral
<span class="badge-patreon"><a href="https://patreon.com/jaime_gomez_obregon" title="Apoya este proyecto en Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Botón para donar en Patreon" /></a></span>
Intérprete de microdatos electorales del Ministerio del Interior español.
Este repositorio refleja (mirror), reúne y simplifica el acceso a los datos de los procesos electorales en España. Es parte de la Chanchullopedia™, un proyecto personal de Jaime Gómez-Obregón que busca cruzar las adjudicaciones de contratos del sector público español con las listas electorales para aflorar y exponer chanchullos con dinero público.
Qué es esto
El Ministerio del Interior español está a cargo de los procesos electorales de ámbito estatal en España. Y publica no solo los resultados electorales detallados sino además otra mucha información adicional entre la que las listas electorales me parecen particularmente interesantes para los objetivos de la Chanchullopedia™.
Estas listas reflejan la composición de las candidaturas electorales a todos los comicios europeos, estatales (Congreso y Senado) y municipales, incluyendo los cabildos canarios. También aparecen datos complementarios detallados de los cuatro referéndums celebrados desde 1976. Se trata, en definitiva, de un conjunto de datos de un elevado valor investigativo e histórico que comprende miles de agrupaciones electorales y el nombre de cientos de miles de candidatos.
:warning: El Ministerio no publica datos de las elecciones autonómicas, pero hay una tediosa solución.
La información publicada por el Ministerio no puede ser consumida directamente: es preciso interpretarla con un software desarrollado ad hoc y que implemente la especificación técnica de los particulares formatos informáticos en que las autoridades electorales españolas codifican la información.
El objetivo de este repositorio es:
-
Alojar el desarrollo de este software para que cualquier interesado pueda explorar los microdatos de las listas electorales.
-
Redundar aquí en Github los datos oficiales publicados por el Ministerio del Interior para que su existencia no dependa de un único origen y esté efectivamente distribuida en la red.
-
Racionalizar la forma de presentación de estos datos para que sea más fácil trabajar con ellos desde un punto de vista informático, por supuesto sin alterarlos ni desnaturalizarlos de ninguna manera.
A mayores, mi idea es elaborar después una API que alimente la Chanchullopedia™ y desarrollar un portal web para explorar las listas electorales españolas desde la restauración del sistema democrático.
Los datos oficiales
A fecha de creación de este proyecto (julio de 2020), la fuente oficial de los datos es el área de descargas del portal de información electoral de la Dirección General de Política Interior del Ministerio del Interior del Gobierno de España:
http://www.infoelectoral.mir.es/infoelectoral/min/areaDescarga.html
| Descarga de datos del portal oficial | Metodología y fuentes |
| ------------------------------------ | --------------------- |
|
|
|
Las tablas de decodificación de municipios y provincias proceden, con fecha de julio de 2020, del Instituto Nacional de Estadística (INE). Sobre estas tablas he realizado, sin desnaturalizarlas, un embellecimiento de los nombres.
Descarga inicial de los datos oficiales
La descarga inicial manual de todos los ficheros es tediosa porque se hace preciso cumplimentar iterativamente los desplegables Elección (proceso electoral) y Fecha (convocatoria) así como descargar y descomprimir uno a uno sucesivamente cada uno de los 161 ficheros históricos existentes ahora mismo.
Para evitarte este tedioso trabajo manual, este repositorio reúne ya una copia descargada y descomprimida de todos estos ficheros oficiales. No obstante, y si por razones de auditoría u otros motivos deseares descargar los datos de la fuente original, he compilado la relación de recursos descargables en los siguientes ficheros:
Así, por ejemplo puedes valerte de wget -i municipales.txt para descargar todos los ficheros oficiales de todas las elecciones municipales.
¿Qué posprocesado he hecho aquí con los datos oficiales?
En el directorio /files de este repositorio he posprocesado cada fichero .zip descargado de la fuente oficial. Este posprocesado no altera ni desnaturaliza los datos:
-
Cada fichero se ha descomprimido, preservando su nombre de fichero, en el subdirectorio correspondiente al tipo de proceso electoral al que pertenece. Por ejemplo,
04199105_TOTA.zipse ha descomprimido enmunicipales/04199105_TOTA. -
Los ficheros
FICHEROS.DOCyFICHEROS.rtfque el Ministerio incluye en cada uno de los ficheros.ziphan sido eliminados de cada subdirectorio descomprimido tras comprobar que son exactamente los mismos ficheros en todos y cada uno de los ficheros.zip. Como ademásFICHEROS.DOCyFICHEROS.rtfson exactamente el mismo documento en dos formatos diferentes, he eliminado el segundo y dejado una única copia del primero que puede encontrarse en/files.
Las elecciones autonómicas
Los ficheros oficiales aquí trabajados omiten las elecciones autonómicas. He escrito al Ministerio para solicitar estos registros, pero lógicamente no ha colado. He aquí su respuesta:
Los resultados de las elecciones de ámbito autonómico, así como su convocatoria, son competencia de cada una de las Comunidades Autónomas, a las que deberá dirigirse para obtener la información solicitada.
En este enlace tiene la dirección de las distintas Comunidades Autónomas.
— Ministerio del Interior
Hay un debate sobre cómo circunvalar este obstáculo en #2: ¿Tiene sentido incorporar las elecciones autonómicas?. La alternativa a este esfuerzo es, por supuesto, simplemente prescindir de los datos de las elecciones autonómicas.
Requisitos
El intérprete está escrito en PHP, del que se requiere al menos la versión 7.4. No hay otras dependencias.
Cómo se usa
Desde línea de comandos, lanza parse.php con el fichero .DAT a interpretar como único argumento. Por ejemplo:
$ php src/parse.php files/congreso/02201904_MESA/04021904.DAT
Ello devolverá por stdout la estructura de datos del fichero decodificada en un formato legible por humanos, pues el objetivo de parse.php es meramente explorar manualmente los ficheros.
Para exportar las listas electorales de un proceso electoral en formato CSV (reutilizable) por stdout, invoca lists.php con dos argumentos: el fichero con las candidaturas (03*.DAT) y el que contiene los candidatos (04*.DAT). Por ejemplo:
$ php src/lists.php files/municipales/04201905_MUNI/03041905.DAT files/municipales/04201905_MUNI/04041905.DAT
Ni que decir tiene que ambos ficheros han de pertenecer al mismo proceso electoral.
Cómo contactarme, plantear dudas o contribuir
Tanto si deseas contribuir a este proyecto como simplemente plantear una duda, hacer una petición o contactarme, por favor lee detenidamente las pautas para participar, que contienen además algunos detalles técnicos relevantes.
Como otros muchos proyectos de software libre, este proyecto está presidido por su código de conducta.
Agradecimientos
Este proyecto es posible gracias al micromecenazgo (crowdfunding) de varios cientos de personas que con su generoso apoyo están haciendo posible que desarrolle herramientas digitales para dar más transparencia a las cosas del sector público en España.
Gracias a este apoyo económico puedo volcarme en esta misión a jornada completa y de manera independiente. Publicaré el nombre (o, para quien lo prefiera, el pseudónimo) de todos estos valientes colaboradores en la página de agradecimientos del portal web que desarrollaré para la Chanchullopedia™ 😊.
Si deseas sumarte a esta iniciativa de la sociedad civil para dar más transparencia a la contratación del sector público en España, puedes consultar los detalles en patreon.com/jaime_gomez_obregon.
Información legal
A la fecha de desarrollo de este proyecto estos son los términos legales para la reutilización de la información existente en el portal institucional del Ministerio del Interior.
| Aviso legal del Ministerio del Interior | Aviso legal de datos.gob.es a que refiere el Ministerio |
| --------------------------------------- | ------------------------------------------------------- |
|
|
|
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
