Se vado su Google e cerco: pizzeria su Roma, Google me la cerca. Giusto? Ma se in fondo volessi che la pizzeria su Roma venisse cercate da Macchine, ovvero elaborata da computer, come posso fare?
Sì, esatto! Se cerchi "pizzeria su Roma" manualmente, Google ti mostra una lista visiva pensata per gli umani. Se invece vuoi che questa ricerca venga effettuata ed elaborata in modo automatico da un computer (una macchina) per estrarre dati strutturati, hai bisogno di utilizzare strumenti di programmazione.
Per farlo si utilizzano principalmente due strade: le API ufficiali o i sistemi di Web Scraping.
1. La via ufficiale: Google Places API
Il modo migliore e legale per far cercare le pizzerie a un computer è usare le API (Application Programming Interface) di Google. In pratica, è una porta sul retro che Google mette a disposizione dei programmatori per dialogare direttamente con i suoi server.
-
- Come funziona: Il tuo software invia una richiesta formattata in codice (una stringa di testo) e i server di Google rispondono con i dati puri.
- Cosa riceve il computer: Non riceverai una pagina web colorata, ma un file di testo strutturato (di solito in formato JSON), facilmente leggibile da qualsiasi linguaggio di programmazione (Python, JavaScript, ecc.).
- I dati inclusi: Nome della pizzeria, coordinate geografiche, recensioni, indirizzo e orari di apertura.
2. La via alternativa: Web Scraping / SerpAPI
Se non vuoi usare le API ufficiali di Google (che oltre una certa soglia diventano a pagamento), i programmatori usano librerie di scraping o servizi terzi come SerpApi.
-
- Come funziona: Un computer simula il comportamento di un browser umano, naviga su Google, digita "pizzeria su Roma", scarica la pagina HTML e "gratta via" (scrapes) le informazioni utili isolando i nomi e i numeri di telefono dai tag della pagina.
Questo è il motivo per il quale sono nate le API?
non capisco
Sì, è esattamente questo il motivo per cui sono nate le API!
Se la parola "API" ti sembra complicata, dimenticala per un attimo. Pensa alle API semplicemente come a dei ponti di comunicazione tra computer.
Quindo? API sarebbero dei ponti di comunicazione tra Computer?
Ecco perché sono nate, spiegato in modo semplice:
Il problema del passato
All'inizio del web, i siti internet (come Google, Booking o il meteo) erano progettati solo per gli occhi umani. Un computer non sa cosa farsene di una pagina colorata con foto, bottoni e pubblicità; il computer ha bisogno solo di dati puri (numeri e testi ordinati).
Se un programmatore voleva creare un'app che mostrava le pizzerie di Google o i voli di una compagnia aerea, doveva mandare un computer a "leggere" la pagina web come un umano, rischiando che al primo cambio di grafica del sito il computer non ci capisse più nulla.
La soluzione: Perché sono nate le API
Per risolvere questo problema, i proprietari dei siti hanno detto: "Creiamo una porta sul retro dedicata esclusivamente ai computer". Quella porta è l'API.
Immagina un ristorante:
-
- La pagina web di Google è la sala del ristorante dove ti siedi, guardi il menu cartaceo colorato e vedi i piatti. È fatta per i clienti (gli umani).
- L'API è lo sportello della cucina. Il computer non entra in sala; va direttamente allo sportello della cucina, chiede "Mi dai la lista delle pizzerie di Roma?" e il cuoco gli passa un foglietto pulito con scritto solo l'essenziale, senza decorazioni.
Due esempi reali per capire a cosa servono oggi:
-
- Le app del Meteo: L'app sul tuo telefono non ha dei satelliti nello spazio. Sfrutta un'API per chiedere ai computer dell'aeronautica o di un centro meteo: "Che tempo fa a Roma?". Il computer del meteo risponde all'app con un dato puro (es.
22°C, Sole<!--TgQPHd|||[]-->
). L'app poi lo colora e ti mostra l'icona del sole.
- I siti di comparazione voli (come Skyscanner): Come fa a sapere i prezzi di Ryanair, Alitalia e Lufthansa in un secondo? Non c'è una persona che va a guardare i siti uno a uno. I computer di Skyscanner interrogano le API di tutte le compagnie aeree contemporaneamente. Le macchine dialogano tra loro in millisecondi e ti mostrano la lista.
- Le app del Meteo: L'app sul tuo telefono non ha dei satelliti nello spazio. Sfrutta un'API per chiedere ai computer dell'aeronautica o di un centro meteo: "Che tempo fa a Roma?". Il computer del meteo risponde all'app con un dato puro (es.
In breve: le API sono nate perché i computer hanno bisogno di parlare con altri computer in modo rapido, preciso e senza la confusione visiva che serve a noi umani.
le API sono nate perché i computer hanno bisogno di parlare con altri computer in modo rapido, preciso e senza la confusione visiva che serve a noi umani.
ok. Ma non mi è ben chiaro. Dovresti chiarirmi al meglio
Facciamo un passo indietro e dimentichiamo per un attimo la tecnologia. Usiamo una metafora della vita reale.
Immagina di voler comprare una casa a Roma.
- Il metodo "Umano" (Sito Web): Tu prendi la macchina, giri per le strade di Roma, guardi i cartelli sui portoni, entri nelle agenzie immobiliari, sfogli le riviste con le foto dei salotti e parli con i passanti. Questo è quello che fai quando navighi su Google: guardi immagini, scorrere le pagine, leggi recensioni. È un processo visivo, lento, fatto per il tuo cervello.
- Il metodo "Macchina" (API): Immagina ora che esista un registro segreto e centralizzato di tutte le case in vendita. Tu non vuoi vedere le foto dei divani, vuoi solo sapere: Prezzo, Metri Quadri, Via. Invii un assistente con un foglio con scritto solo:
"Roma, Trastevere, max 300.000€"
. L'assistente bussa a una finestrella sul retro del comune, consegna il foglio e l'impiegato gli restituisce una lista scritta a penna con solo i dati essenziali. Quella finestrella sul retro è l'API.
Perché i computer non possono usare il sito web normale?
Se tu chiedi a un software (un computer) di andare sul sito web di Google a cercare le pizzerie come faresti tu, il computer si trova davanti a un muro di problemi:
- La grafica lo confonde: Il computer vede codice visivo (colori, bottoni, banner pubblicitari, pop-up dei cookie). Per trovare il numero di telefono di una pizzeria deve "scavare" in mezzo a migliaia di righe di codice fatte per i nostri occhi.
- Se il sito cambia, il computer si rompe: Se domani Google decide di spostare il tasto "Chiama" da destra a sinistra, tu umano ci metti un secondo ad abituarti. Un computer, che era stato programmato per cliccare esattamente in quel punto a destra, non capisce più nulla e si blocca.
Come risolve il problema l'API?
L'API elimina la grafica, i bottoni, i colori e i cambiamenti improvvisi. È un accordo scritto tra due computer.
Google dice a tutti i computer del mondo:
"Se volete le mie pizzerie, non venite sul mio sito web. Bussate alla mia porta sul retro (l'API) e inviatemi questa precisa richiesta scritta:cerca: pizzerie, città: roma. Io vi risponderò SEMPRE e COMUNQUE nello stesso identico modo, inviandovi solo testo pulito."
Un esempio pratico per chiudere il cerchio
Pensa a Uber (l'app per i taxi). Quando apri Uber, vedi una bellissima mappa con la tua macchinina che si muove. Uber non ha i satelliti nello spazio e non ha creato quella mappa. La mappa è di Google Maps.
Come fa l'app di Uber a mostrare la mappa di Google?
- L'applicazione di Uber (Computer A) bussa all'API di Google Maps (Computer B).
- Uber dice: "Ehi Google, il mio utente è alle coordinate X e Y, mi dai la mappa di quella zona?"
- Google risponde tramite l'API inviando i dati della mappa in un millisecondo.
- L'app di Uber prende quel pezzo di mappa e te lo mostra sullo schermo.
Senza le API, Uber non potrebbe esistere, perché non saprebbe come "prendere" la mappa da Google in modo automatico e sicuro.
In parole semplicissime: L'API è la "maniglia" che un sito o un programma mette sul retro della propria porta per permettere a un altro programma di afferrare i suoi dati direttamente, senza passare dall'ingresso principale (la pagina web).