Il DAIT - Ministero dell'Interno Direzione Centrale per i Servizi Elettorali - S.I.E.C.C. pubblica su Eligendo i dati elettorali in modalità non leggibile meccanicamente, in contrasto a come previsto da normativa e linee guida correnti.
In futuro verranno pubblicati anche in formato aperto e leggibile meccanicamente, ma sarebbe da fare subito, abilitando sia il download in blocco, che quello via API documentate. Inserendo le note del caso, sulla eventuale momentanea incompletezza e/o non ufficialità dei dati.
Per questo ne abbiamo estratti alcuni, trasformati e resi disponibili in formato aperto e leggibile meccanicamente.
Sono estratti con lo schema disponibile su Eligendo. Non documentato.
Ai campi originali ne sono stati aggiunti alcuni, utili per essere utilizzati al meglio.
Download:
insieme.csv
- dati elettorali anagrafici di ogni Comune;liste.csv
- dati elettorali delle liste per ogni Comune;affluenza.csv
- dati sull'affluenza per ogni Comune;elenco_enti_partecipanti_amministrative_2024.csv
- dati sull'elenco degli enti partecipanti alle contemporanee elezioni amministrative.
NOTE su insieme.csv
e affluenza.csv
:
- sono stati estratti circa alle ore 12:00 del 10 giugno 2024 e mancano alcune sezioni;
- sono i dati relativi soltanto ai voti dall'Italia, con l'esclusione dei voti "fuori sede" e dall'estero;
- potrebbe esserci qualche errore, per favore segnalatecelo a info@ondata.it.
Sei libero di usare questi dati come vuoi, ma ti chiediamo di citare la fonte e di inserire il link a questa pagina (ad esempio "Fonte dati: associazione onData").
Questo primo dataset - insieme.csv
- contiene i dati elettorali anagrafici di ogni Comune (numero di elettori, di sezioni, ecc.).
Ai dati originali sono stati aggiunti i campi DESCRIZIONE COMUNE
, SIGLA
, CODICE ELETTORALE
, CODICE ISTAT
, CODICE BELFIORE
. Il campo più importante è CODICE ISTAT
, perché consente di collegare i dati con quelli di altre fonti e realizzare grafici e mappe interattive.
La fonte utile per aggiungere ai codici elettorali di Eligendo, i codici comunali Istat, è sempre il DAIT e la "Tabella di conversione codici dei comuni italiani".
Il campo join
, deriva dalla normalizzazione del campo cod_prov
e cod_com
, per poter fare il join la tabella appena citata.
join | codice | st | t_ele | f_elet | dt_ele | l_terr | area | cod_com | desc_com | cod_prov | desc_prov | ele_m | ele_f | ele_t | vot_m | vot_f | vot_t | perc_vot | sz_perv | sz_tot | fine_rip | sk_bianche | sk_nulle | sk_contestate | tot_vot_lis | non_valid | dt_agg | data_prec_elez | circ_sto | reg_sto | prov_sto | comu_sto | tipo_tras | NR. | DESCRIZIONE COMUNE | SIGLA | CODICE ELETTORALE | CODICE ISTAT | CODICE BELFIORE |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0670590 | 4180670590 | ESERCIZIO | Europee | SCRUTINI | 20240609000000 | COMUNE | I | 590 | PLACANICA | 67 | REGGIO CALABRIA | 591 | 589 | 1180 | 143 | 125 | 268 | 22,71 | 3 | 3 | N | 4 | 6 | 0 | 258 | null | 20240610054042 | 20190526000000 | 4 | 18 | 67 | 590 | CO | 5174 | PLACANICA | RC | 3180670590 | 080059 | G729 |
0150410 | 1030150410 | ESERCIZIO | Europee | SCRUTINI | 20240609000000 | COMUNE | I | 410 | CASTREZZATO | 15 | BRESCIA | 2826 | 2804 | 5630 | 1680 | 1703 | 3383 | 60,09 | 5 | 5 | N | 97 | 97 | 0 | 3189 | null | 20240610044907 | 20190526000000 | 1 | 3 | 15 | 410 | CO | 1786 | CASTREZZATO | BS | 1030150410 | 017045 | C332 |
0380820 | 4130380820 | ESERCIZIO | Europee | SCRUTINI | 20240609000000 | COMUNE | I | 820 | ROCCA DI MEZZO | 38 | L'AQUILA | 860 | 809 | 1669 | 478 | 423 | 901 | 53,98 | 4 | 4 | N | 34 | 31 | 0 | 836 | null | 20240610045622 | 20190526000000 | 4 | 13 | 38 | 820 | SZ | 5675 | ROCCA DI MEZZO | AQ | 3130380820 | 066082 | H402 |
0510050 | 4150510050 | ESERCIZIO | Europee | SCRUTINI | 20240609000000 | COMUNE | I | 50 | ARZANO | 51 | NAPOLI | 12483 | 13751 | 26234 | 4818 | 4776 | 9594 | 36,57 | 32 | 32 | N | 51 | 209 | 0 | 9334 | null | 20240610054503 | 20190526000000 | 4 | 15 | 51 | 50 | SZ | 369 | ARZANO | NA | 3150510050 | 063005 | A455 |
0630050 | 3090630050 | ESERCIZIO | Europee | SCRUTINI | 20240609000000 | COMUNE | I | 50 | LAMPORECCHIO | 63 | PISTOIA | 2875 | 3075 | 5950 | 2046 | 2139 | 4185 | 70,34 | 7 | 7 | N | 169 | 219 | 0 | 3797 | null | 20240610024150 | 20190526000000 | 3 | 9 | 63 | 50 | SZ | 3391 | LAMPORECCHIO | PT | 2090630050 | 047005 | E432 |
Questo secondo dataset - liste.csv
- contiene i dati elettorali delle liste per ogni Comune.
Qui sono stati aggiunti i campi CODICE ELETTORALE
, CODICE ISTAT
, CODICE BELFIORE
, sfruttando sempre la "Tabella di conversione codici dei comuni italiani".
codice | pos | desc_lis | img_lis | min | max_coll | voti | perc | CODICE ELETTORALE | CODICE ISTAT | CODICE BELFIORE |
---|---|---|---|---|---|---|---|---|---|---|
1030261080 | 15 | RASSEMBLEMENT VALDÔTAIN | 1-20240609000000-15.png | S | 1 | 2 | 0,14 | 1030261080 | 019111 | L535 |
5200530170 | 6 | MOVIMENTO 5 STELLE | 1-20240609000000-6.png | N | null | 11 | 13,75 | 4200530170 | 091018 | D376 |
1010881620 | 1 | LIBERTA' | 1-20240609000000-1.png | N | null | 1 | 0,14 | 1010881620 | 002164 | M028 |
4130230610 | 7 | LEGA SALVINI PREMIER | 1-20240609000000-7.png | N | null | 33 | 8,03 | 3130230610 | 069061 | G290 |
2050890680 | 10 | AZIONE - SIAMO EUROPEI | 1-20240609000000-10.png | N | null | 368 | 3,97 | 1050890680 | 023069 | H783 |
Questo terzo dataset - affluenza.csv
- contiene i dati sull'affluenza per ogni Comune.
Il campo perc_r
è la percentuale della tornata precedente.
Anche qui è stato aggiunto il CODICE ISTAT
, sfruttando sempre la "Tabella di conversione codici dei comuni italiani".
join | ente_p | cod_reg | cod_prov | desc | cod | ele_m | ele_f | ele_t | una_lis | tipo_tras | com | dt_com | enti_p | enti_t | perc | vot_m | vot_f | vot_t | perc_r | CODICE ISTAT |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0160170 | BRINDISI | 16 | 016 | SAN VITO DEI NORMANNI | 170 | 7485 | 8152 | 15637 | null | SZ | 4 | 20240609230000 | 19 | 19 | 36,35 | 2838 | 2846 | 5684 | 45,27 | 074017 |
0520740 | NOVARA | 1 | 052 | GRANOZZO CON MONTICELLO | 740 | 559 | 587 | 1146 | null | SZ | 4 | 20240609230000 | 2 | 2 | 51,57 | 293 | 298 | 591 | 65,56 | 003077 |
0100510 | BELLUNO | 5 | 010 | SAN VITO DI CADORE | 510 | 739 | 842 | 1581 | null | SZ | 4 | 20240609230000 | 2 | 2 | 55,41 | 419 | 457 | 876 | 53,89 | 025051 |
0151090 | BRESCIA | 3 | 015 | NIARDO | 1090 | 789 | 833 | 1622 | null | CO | 4 | 20240609230000 | 2 | 2 | 66,21 | 524 | 550 | 1074 | 79,88 | 017118 |
0571340 | PAVIA | 3 | 057 | SAN MARTINO SICCOMARIO | 1340 | 2349 | 2623 | 4972 | null | SZ | 4 | 20240609230000 | 5 | 5 | 65,37 | 1568 | 1682 | 3250 | 71,79 | 018137 |
In parallelo alle Elezioni Europee si sono tenute le Elezioni Amministrative Comunali in diversi comuni. L'elenco degli enti partecipanti è stato pubblicato in formato PDF in questa pagina del Viminale.
Sono dati di grande interesse perché ad esempio l'affluenza alle urne è stata spesso diversa tra i comuni in cui si è votato e quelli in cui non si è votato.
Anche qui è stato aggiunto il CODICE ISTAT
, sfruttando sempre la "Tabella di conversione codici dei comuni italiani".
comune | ref | numero_comuni | comuni_capoluogo | comuni_sup_15000 | comuni_inf_15000 | comuni_rinnovo_motivi_diversi | comuni_sciolti_rinnovo | popolazione_2021 | sezioni_2023 | elettori_2023 | CODICE ISTAT |
---|---|---|---|---|---|---|---|---|---|---|---|
LOREGLIA | 11_table_01 | 1.0 | inf | 217 | 1 | 187 | 103038 | ||||
DOLEGNA DEL COLLIO | 31_table_02 | 1.0 | inf | 317 | 1 | 401 | 031004 | ||||
ALTINO | 49_table_02 | 1.0 | inf | 3075 | 3 | 2676 | 069001 | ||||
ABBADIA SAN SALVATORE | 41_table_04 | 1.0 | inf | 6023 | 9 | 4816 | 052001 | ||||
BESNATE | 23_table_03 | 1.0 | inf | 5475 | 4 | 4584 | 012012 |
Leggendo il traffico web del browser è possibile visualizzare le chiamate che vengono fatte al server per recuperare i dati. Questi vengono restituiti in formato JSON
.
Tra i dati leggibili, uno di partenza è quello con l'anagrafica geografica:
https://elezioni.interno.gov.it/tornate/20240609/enti/europee_territoriale_italia.json
Che contiene dati come questi di esempio di sotto:
{
"int": {
"file": "GEOPOLITICA EUROPEE",
"area": "I",
"t_ele": "Europee",
"dt_ele": 20240609000000
},
"enti": [
{
"cod": "1010020010",
"desc": "ACQUI TERME",
"tipo": "CM",
"tipo_comune": "M",
"dt_agg": null,
"tipo_tras": "CO"
},
{
"cod": "5190550000",
"desc": "PALERMO",
"tipo": "PR",
"tipo_comune": null,
"dt_agg": null,
"tipo_tras": null
},
{
"cod": "5190550510",
"desc": "PALERMO",
"tipo": "CM",
"tipo_comune": "M",
"dt_agg": null,
"tipo_tras": "SZ"
}
]
}
Si possono filtrare da questo elenco soltanto quelli di tipo CM
(Comune), vedere qual è l'URL per visualizzare la pagina web di un Comune e in questa verificare qual è la chiamata fatta per scaricare i dati relativi che alimentano la pagina.
Ad esempio i dati del Comune di Aqui Terme - codice 1010020010
- sono accessibili al seguente URL:
https://elezioni.interno.gov.it/europee/scrutini/20240609/scrutiniEI1010020010
Visualizzando il traffico web del browser si può vedere che la chiamata per recuperare i dati delle delle liste in JSON è come la seguente:
curl --compressed 'https://eleapi.interno.gov.it/siel/PX/scrutiniEI/DE/20240609/TE/01/PR/002/CM/0010' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0' \
-H 'Accept: application/json, text/javascript, */*; q=0.01' \
-H 'Referer: https://elezioni.interno.gov.it/'
Abbiamo allora replicato queste chiamate per tutti i Comuni e per tutte le liste.
Un grazie a Raffaele Mastrolonardo, che quasi sempre è tra i principali "spingitori" di queste iniziative di apertura dei dati elettorali.
Insieme al referendum si è votato in diversi comuni. Ci troviamo davanti a queste barriere informative:
- un file in formato PDF, non leggibile meccanicamente, con l'elenco dei comuni interessati, pubblicato qui;
- il file
xlsx
"Comunali - Liste e candidati", pubblicato in questa pagina, che però non ha l'elenco di tutti i comuni in cui si è votato (ad esempio, mancano quelli della Sicilia); - in entrambi i casi, non c'è il codice Istat dei comuni.
Abbiamo allora estratto i dati dal PDF, li abbiamo resi disponibili in formato aperto e leggibile meccanicamente e aggiunto il codice Istat dei comuni: elenco_enti_partecipanti_amministrative_2024.csv
.
Nota bene: dobbiamo verificare ancora l'assenza di 2-3 comuni, che sembrano non essere stati da noi estratti correttamente.
- "La Lega ha perso il Nord", Il Post
- "Europee 2024, chi ha vinto in ogni comune? La mappa del voto", Raffaele Mastrolonardo, Sky TG24
- Guenter Richter nelle sue mappe
- "Com'è cambiata la geografia politica italiana dopo le elezioni europee", Riccardo Saporiti, Il Sole 24 Ore
- "Dataset trend fra Elezioni Politiche Italiane 2022 e Elezioni Europee 2024", di Ruggero Marino Lazzaroni
- "Dove sono state vinte le elezioni europee 2024", di Gianmarco Di Lella
- "Elezioni, chi non ha votato? Identikit dell'astensionismo in Italia", Raffaele Mastrolonardo, Sky TG24
- "Europee, il Pd che non ti aspetti, Tajani re delle due Sicilie e Salvini espugna il Molise", Ruggero Marino Lazzaroni, Il Manifesto
- "Europee 2024, le differenze di genere nell'affluenza", Luca Bonzanni
- "Elezioni Comune Lecce 2024", Francesco Paolicelli
- "Le elezioni europee e i dati ancora non pubblicati", Gerlando Gibilaro e Andrea Borruso, nel podcast "Teste di nicchia"