Dataninja srls
Connecting data with people
Carlo Romagnoli | @karlettin81
Alessio Cimarelli | @jenkin27
Network europeo di data giornalisti
Alessio, Andrea, Andrea, Carlo, Donata, Elena, Gianluca, Mara, Nicola, ...
UNIVERSO DI
FONTI / DATI
STATISTICI
WORK IN
PROGRESS
METODO
Tenere traccia dei percorsi intrapresi
In caso di dubbi .... Chiedere sempre !
Aggiornarsi costantemente (fonti / modalità di fruizione)
Assicurarsi che le informazioni statistiche siano aggiornate
Verificare tutte le informazioni statistiche utilizzate
Valutare le possibilità di matching tra fonti statistiche/indicatori
Immigrazione - www.stra-dati.istat.it
Amministrazioni Pubbliche - www.dati.statistiche-pa.it
Disabilità in cifre - www.dati.disabilitaincifre.it
Demografia - www.demo.istat.it
Benessere Equo Sostenibile - www.misuredelbenessere.it
Commercio Estero - www.coeweb.istat.it
I.Istat - Noi Italia - Censimenti
GENERALISTE
SPECIALISTICHE
Ministero Economia e Finanze - www.mef.gov.it
Banca d'Italia - www.bancaditialia.it
Dati Aperti PA - www.dati.gov.it
Inps - www.inps.it
Agricoltura - Ismea - www.ismea.it
Politiche del Lavoro - Isfol - www.isfol.it
Spettacolo e Intrattenimento - Siae - www.siae.it
Immobiliare - Agenzia Entrate - agenziaentrate.gov.it
GEO-REFERENZIATE
International Monetary Fund - www.imf.org
World Bank - www.worldbank.com
Food and Agricolture Organization - www.fao.org
International Labour Organization - www.ilo.org
United Nations - www.un.org
Eurostat - www.ec.europa.eu/eurostat
Banca Centrale Europea - www.ecb.europa.eu
Commissione Europea - www.ec.europa.eu
Consiglio d'Europa - www.coe.int
UE Opendata Portal - www.open-data.europa.eu
Una buona API fornisce una "scatola nera", cioè un livello di astrazione che evita al programmatore di sapere come funzionano le API ad un livello più basso (wikipedia).
Una buona API fornisce una "scatola nera", cioè un livello di astrazione che evita al programmatore di sapere come funzionano le API ad un livello più basso (wikipedia).
Un'architettura di rete nella quale genericamente un computer client o terminale si connette a un server per la fruizione di un certo servizio (wikipedia).
Request–response is a message exchange pattern in which a requestor sends a request message to a replier system which receives and processes the request, ultimately returning a message in response (wikipedia).
HTTP functions as a request–response protocol in the client–server computing model (wikipedia).
Request line
Header fields
Request body
Status code and message
Response header fields
Response body
Uniform Resource Identifier (URI) is a string of characters used to identify a resource (wikipedia).
[protocol]://[user]:[password]@[host]:[port]/[path]?[key]=[value]#[hash]
http://www.festivaldelgiornalismo.com/post/tag/ijf16/
In informatica una query-string o stringa di ricerca è la parte di un URL che contiene dei dati da passare in input ad un programma (wikipedia).
[protocol]://[user]:[password]@[host]:[port]/[path]?[key]=[value]#[hash]
http://twitter.com/share?
url=http://www.festivaldelgiornalismo.com/programme/2016/statistical-sources-instructions-for-use&
text=Dalle%20fonti%20statistiche%20alle%20API:%20estrarre%20dati%20dal%20web%20%23ijf16&
via=journalismfest
The POST request method requests that a web server accepts and stores the data enclosed in the body of the request message (wikipedia).
{
"url": "http://www.festivaldelgiornalismo.com/programme/2016/statistical-sources-instructions-for-use",
"text": "Dalle fonti statistiche alle API: estrarre dati dal web #ijf16",
"via": "journalismfest"
}
[protocol]://[user]:[password]@[host]:[port]/[path]?[key]=[value]#[hash]
JSON è un formato adatto all'interscambio di dati fra applicazioni client-server (wikipedia).
{
"stringa": "abcde",
"numero intero": 3,
"numero decimale": 3.14,
"valore booleano": true,
"valore nullo": null,
"array semplice": [1,2,3,4,5],
"array associativo": {
"cosa": "ijf16",
"dove": "Perugia"
}
}
"abcde" -> stringa di testo
3 -> numero intero
3.14 -> numero decimale
true -> valore booleano
null -> valore nullo
[] -> array semplice
{} -> array associativo
Il comma-separated values è un formato di file basato su file di testo utilizzato per l'importazione ed esportazione di una tabella di dati (wikipedia).
id | nome | cognome | ||
---|---|---|---|---|
1 | carlo | romagnoli | karlettin@dataninja.it | @karlettin81 |
2 | alessio | cimarelli | jenkin@dataninja.it | @jenkin27 |
id,nome,cognome,mail,twitter
1,carlo,romagnoli,karlettin@dataninja.it,@karlettin81
2,alessio,cimarelli,jenkin@dataninja.it,@jenkin27
id | nome | cognome | ||
---|---|---|---|---|
1 | carlo | romagnoli | karlettin@dataninja.it | @karlettin81 |
2 | alessio | cimarelli | jenkin@dataninja.it | @jenkin27 |
id,nome,cognome,mail,twitter
1,carlo,romagnoli,karlettin@dataninja.it,@karlettin81
2,alessio,cimarelli,jenkin@dataninja.it,@jenkin27
[
{
"id": 1,
"nome": "carlo",
"cognome": "romagnoli",
"mail": "karlettin@dataninja.it",
"twitter": "@karlettin81"
},
{
"id": 2,
"nome": "alessio",
"cognome": "cimarelli",
"mail": "jenkin@dataninja.it",
"twitter": "@jenkin27"
}
]
{
"id": [1,2],
"nome": ["carlo","alessio"],
"cognome": ["romagnoli","cimarelli"],
"mail": ["karlettin@dataninja.it","jenkin@dataninja.it"],
"twitter": ["@karlettin81","@jenkin27"]
}
{
"keys": ["id","nome","cognome","mail","twitter"],
"values": [
[1,"carlo","romagnoli","karlettin@dataninja.it","@karlettin81"],
[2,"alessio","cimarelli","jenkin@dataninja.it","@jenkin27"],
]
}
from twython import TwythonStreamer
from stream_auth import MyStreamAuth
class MyStreamer(TwythonStreamer):
def on_success(self, status):
if 'text' in status:
print \
status['created_at'], "|", \
status['text'].encode('utf-8'), "|", \
"@"+status['user']['screen_name'], "|", \
"https://twitter.com/"+status['user']['screen_name']+"/status/"+status['id_str']
def on_error(self, error_code, data):
print "Error", error_code, ", exit..."
self.disconnect()
auth = MyStreamAuth()
stream = MyStreamer(
auth.app_key(),
auth.app_secret(),
auth.access_token(),
auth.access_secret()
)
print "Twitter real-time stream, filtering #ijf16..."
stream.statuses.filter(track='#ijf16')
onData
Icon made by Freepik from www.flaticon.com
By Dataninja srls
Workshop su fonti dati e API per il Festival Internazionale del Giornalismo di Perugia 2016. Perugia, 8 aprile 2016.