Se vuoi più informazioni su questo progetto, ne ho parlato su datiBeneComune in questo numero.
Fratelli d'Italia: 29.45%
Partito Democratico: 23.39%
Movimento 5 Stelle: 11.31%
Forza Italia: 9.54%
Lega: 8.88%
Alleanza Verdi Sinistra: 6.57%
Altri: 3.70%
Azione: 2.84%
Italia Viva: 2.37%
+Europa: 1.93%
Questo progetto si occupa di archiviare tutti i sondaggi mai caricati sul sito ufficiale sondaggipoliticoelettorali.it, cercando quelli che riguardano l'intenzione di voto nazionale utilizzando il confronto di stringhe e l'estrazione delle risposte al sondaggio utilizzando un Large Language Model (LLM).
Per a chi interessano solo i dati dei sondaggi aggiornati giornalieramente, sono disponibili in formato JSONL nel file italian_polls.jsonl
e in formato CSV nel file italian_polls.csv
. Se invece si desiderano i dati in formato long e ulteriormente puliti, sono disponibili alla sequente repo di onData: italian_polls
Avere un'installazione di Python con un setup di Selenium funzionante e le librerie openai
e bs4
installate.
Avere nel proprio environment la variabile d'ambiente OPENAI_API_KEY
settata con la propria chiave API di OpenAI.
Per esserne sicuri, basta installare i requisiti con il seguente comando:
pip install -r requirements.txt
- Clona il repository sul tuo computer:
git clone https://github.com/ruggsea/llm_italian_poll_scraper.git
- Entra nella directory del progetto:
cd llm_italian_poll_scraper
I sondaggi dovrebbero essere archiviati nel file italian_polls.jsonl
in formato JSONL. Per aggiornare il file con i nuovi sondaggi, esegui il seguente comando:
python3 llm_poll_parser/archiving_polls.py
La media si basa sui sondaggi archiviati nel file italian_polls.jsonl
e viene calcolata tramite media mobile a peso esponenziale (EWMA). Il grafico non riporta Azione, +Europa e Italia Viva poiché le loro unioni e divisioni rendono difficile rappresentarne una serie storica (sono tuttavia presenti nei dati raccolti).
Mentre il dataset è molto affidabile per i sondaggi odierni, potrebbero esserci errori nei sondaggi più vecchi. In particolare, alcuni sondaggi risultano sfasati o vuoti per via di errori di parsing o di mancato filtraggio. Varie correzioni nel parsing sono state apportate: per vederne i frutti, saltuariamente conduco uno scrape completo per ricostruire il dataset da zero usando la versione più aggiornata dello scraper.
Sono considerati in maniera abbastanza esaustiva tutti i partiti sondati nei sondaggi archiviati sul sito (2013-presente). I partiti considerati sono:
- Fratelli d'Italia
- Partito Democratico
- Movimento 5 Stelle
- Forza Italia
- Lega
- Alleanza Verdi Sinistra
- Azione
- Italia Viva
- +Europa
- Pace Terra Dignità
- Sud Chiama Nord
- Stati Uniti d'Europa
- Azione/+Europa
- Azione - Italia Viva
- Unione Popolare
- Sinistra Ecologia Libertà
- Unione di Centro
- Scelta Civica
Sono incoraggiati consigli e suggerimenti su partiti da aggiungere, altri miglioramenti e correzione dei dati: in caso aprire una issue. Grazie!
Per domande, chiarificazione o contatti media contattemi su fu twitter at ruggsea o al seguente profilo LinkedIn.
I dati sono rilasciati con licenza CC BY 4.0, quindi sei libero di utilizzarli per qualsiasi scopo, a patto di citare questa fonte.
Quando li usi includi per favore la dicitura "dati estratti da Ruggero Marino Lazzaroni", mettendo il link a questo repository (il link è https://github.com/ruggsea/llm_italian_poll_scraper).