ondata / elezioni_2020

Creative Commons Attribution 4.0 International
6 stars 0 forks source link

Voti candidati per comuni #1

Closed giocaputo closed 4 years ago

giocaputo commented 4 years ago

Potrebbe essere moto utile i voti dei candidati per comune con una chiamata tipo...

Chiaramente, ottimo lavoro

https://eleapi.interno.gov.it/siel/PX/getprefeR/DE/20200920/TE/07/RE/16/PR/009/CM/0390/AG/0002

aborruso commented 4 years ago

Ciao @giocaputo grazie.

Ma da dove è possibile visualizzare a schermo questo tipo di interrogazione? Perché per le regionali mi sembrava non si potesse andare oltre i dati per comune https://elezioni.interno.gov.it/regionali/scrutini/20200920/scrutiniRI160090090060

Che via API sono https://eleapi.interno.gov.it/siel/PX/scrutiniR/DE/20200920/TE/07/RE/16/PR/009/CM/0060.

Forse il metodo getprefeR viene utilizzato nelle comunali, ma anche lì, non vedo dove e mi sembra che il massimo dettaglio si abbia con https://eleapi.interno.gov.it/siel/PX/scrutiniG/DE/20200920/TE/08/PR/051/CM/0580

giocaputo commented 4 years ago

Effettivamente non è molto esplicativo, l'ho trovato casualmente . Bisogna cambiare vista cliccando sulla freccia in alto a sinistra e poi sul nome sulla lista

image

giocaputo commented 4 years ago

Ma per le API ci sono delle specifiche? Sono documentate da qualche parte?

aborruso commented 4 years ago

Effettivamente non è molto esplicativo, l'ho trovato casualmente . Bisogna cambiare vista cliccando sulla freccia in alto a sinistra e poi sul nome sulla lista

Per me era invisibile, grazie.

Ma per le API ci sono delle specifiche? Sono documentate da qualche parte?

No, abbiamo lavorato di reverse engineering. Quindi in questo caso la chiamata tipo è:

curl 'https://eleapi.interno.gov.it/siel/PX/getprefeR/DE/20200920/TE/07/RE/15/PR/051/CM/0010/AG/0026' \
  -H 'Connection: keep-alive' \
  -H 'Accept: application/json; charset=UTF-8' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36' \
  -H 'Content-Type: application/json; charset=UTF-8' \
  -H 'Origin: https://elezioni.interno.gov.it' \
  -H 'Sec-Fetch-Site: same-site' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Referer: https://elezioni.interno.gov.it/regionali/scrutini/20200920/scrutiniRI150510510010' \
  -H 'Accept-Language: en-US,en;q=0.9,it;q=0.8' \
  --compressed

Che ti dà qualcosa come:

{
  "int": {
    "st": "ESERCIZIO",
    "t_ele": "Regionali Speciali",
    "f_elet": "PREFERENZE",
    "dt_ele": 20200920000000,
    "l_terr": "COMUNE",
    "area": "I",
    "desc_reg": "CAMPANIA",
    "cod_reg": 15,
    "desc_circ": "NAPOLI",
    "cod_circ": 51,
    "desc_prov": "NAPOLI",
    "cod_prov": 51,
    "desc_com": "ACERRA",
    "cod_com": 10
  },
  "note": null,
  "liste": [
    {
      "cod": 26,
      "desc": "TERZO POLO",
      "img_lis_c": "7-20200920000000-26-051.png",
      "sez_perv": 56,
      "sez_tot": 56
    }
  ],
  "cand": [
    {
      "cod_lis": 26,
      "cod_cand": 1,
      "cogn": "ANGRISANO",
      "nome": "SERGIO",
      "a_nome": null,
      "sex": "M",
      "d_nasc": 19540718000000,
      "l_nasc": "NAPOLI",
      "voti": 5
    },
    {
      "cod_lis": 26,
      "cod_cand": 8,
      "cogn": "BENNARDINO",
      "nome": "LUIGI",
      "a_nome": null,
      "sex": "M",
      "d_nasc": 19740824000000,
      "l_nasc": "NAPOLI",
      "voti": 4
    }
  ]
}

Quindi non ti resta che fare un loop impostato così

https://eleapi.interno.gov.it/siel/PX/getprefeR/DE/20200920/TE/07/RE/$codiceRegione/PR/$codiceProvincia/CM/$codiceComune/AG/$codiceLista.

Le suddivisioni territoriali sono qui https://elezioni.interno.gov.it/assets/enti/20200920/regionali_territoriale_italia.json

Le varie liste sono qui https://raw.githubusercontent.com/ondata/elezioni_2020/master/regionali/output/scrutini_liste.csv.

Se ad esempio vuoi l'ID per il comune di Bari, della lista FUTURO VERDE, devi usare il campo pos (vedi immagine sotto). In questo caso è 29. Sembra ci sia sempre uno zero padding di 4 cifre e quindi è 0029.

Per comuni e liste, sono circa 34000 chiamate.

image

aborruso commented 4 years ago

@giocaputo la chiudo la issue.

Se scarichi i dati, e ti fa piacere, li metterei a disposizione qui. Se hai qualche difficoltà, prova a chiedere (io spero di riuscire a rispondere).