Utilizzo delle API pubbliche per i dati
OpenWeatherMap, Wikipedia e API pubbliche governative: esempi pratici di raccolta dati.
Utilizzo delle API pubbliche per i dati è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Esercitarsi con le API pubbliche
Il modo migliore per imparare a raccogliere dati è utilizzare API reali. In questa lezione ne utilizzerà tre, semplici da usare:
- JSONPlaceholder — un'API REST fittizia per esercitarsi, senza bisogno di una chiave
- OpenWeatherMap — dati meteorologici reali, con una chiave API gratuita
- Wikipedia API — contenuti e ricerca di articoli
JSONPlaceholder per esercitarsi
JSONPlaceholder fornisce post, utenti e commenti fittizi senza autenticazione. È perfetto per testare il codice che invia richieste e analizza le risposte.
import requests
resp = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10)
resp.raise_for_status()
posts = resp.json()
print(len(posts), "posts")
print(posts[0]["title"])Dalla risposta al flusso di lavoro con DataFrame
Il flusso di lavoro standard consiste nel recuperare il JSON e caricarlo direttamente in un DataFrame per l'analisi.
import pandas as pd
posts = requests.get("https://jsonplaceholder.typicode.com/posts", timeout=10).json()
df = pd.DataFrame(posts)
print(df.head())
print(df["userId"].value_counts())OpenWeatherMap — Ottenere una chiave
OpenWeatherMap richiede una chiave API gratuita, passata come parametro appid. Tenga le chiavi fuori dal codice: le legga da una variabile d'ambiente.
import os
API_KEY = os.environ["OWM_API_KEY"] # set OWM_API_KEY in your shellOpenWeatherMap — Parametri della query
L'endpoint del meteo corrente accetta q (città), appid (chiave) e units (metrico/imperiale).
import requests, os
params = {
"q": "Istanbul",
"appid": os.environ["OWM_API_KEY"],
"units": "metric",
}
resp = requests.get("https://api.openweathermap.org/data/2.5/weather", params=params, timeout=10)
resp.raise_for_status()
data = resp.json()Estrarre campi JSON annidati
Le risposte delle API reali sono profondamente annidate. Acceda ai dati tramite chiavi concatenate e utilizzi .get() con valori predefiniti per i campi che potrebbero mancare.
temp = data["main"]["temp"]
humidity = data["main"]["humidity"]
desc = data["weather"][0]["description"]
print(f"{temp} C, {humidity}% humidity, {desc}")Raccogliere dati meteorologici per molte città
Scorra l'elenco delle città, appiattisca i campi di interesse in un elenco di dizionari, quindi crei un DataFrame.
cities = ["Istanbul", "London", "Tokyo"]
rows = []
for c in cities:
p = {"q": c, "appid": os.environ["OWM_API_KEY"], "units": "metric"}
d = requests.get("https://api.openweathermap.org/data/2.5/weather", params=p, timeout=10).json()
rows.append({"city": c, "temp": d["main"]["temp"], "desc": d["weather"][0]["description"]})
import pandas as pd
df = pd.DataFrame(rows)L'API di Wikipedia
Wikipedia API espone la ricerca e i contenuti degli articoli. Richiede un action e format=json, oltre a un'intestazione User-Agent descrittiva.
params = {
"action": "query",
"list": "search",
"srsearch": "machine learning",
"format": "json",
}
headers = {"User-Agent": "data-collector/1.0 (you@example.com)"}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, headers=headers, timeout=10)
results = resp.json()["query"]["search"]Recuperare gli estratti degli articoli
Utilizzi prop=extracts con exintro=True per recuperare il paragrafo introduttivo di un articolo: è utile per creare dataset testuali.
params = {
"action": "query",
"prop": "extracts",
"exintro": True,
"explaintext": True,
"titles": "Artificial intelligence",
"format": "json",
}
resp = requests.get("https://en.wikipedia.org/w/api.php", params=params, timeout=10)
pages = resp.json()["query"]["pages"]
for pid, page in pages.items():
print(page["extract"][:300])Leggere la documentazione delle API
Ogni API è diversa. Prima di scrivere il codice, legga nella documentazione: l'URL di base, i parametri obbligatori, il metodo di autenticazione, la struttura della risposta e i limiti di frequenza.
Provi interattivamente una richiesta, esamini resp.json(), quindi costruisca il ciclo sulla struttura reale.
Usare correttamente le API
Le API pubbliche sono risorse condivise. Le utilizzi nel rispetto delle regole:
- Invii un
User-Agentche la identifichi - Memorizzi nella cache i risultati, per non recuperare nuovamente gli stessi dati
- Attenda tra una richiesta e l'altra e rispetti i limiti di frequenza
- Legga e rispetti i termini di utilizzo di ogni API
Verifica rapida: API per esercitarsi
Desidera testare il codice che invia richieste e analizza le risposte senza registrarsi per ottenere una chiave API.
Riepilogo: API di dati pubblici
Ha fatto pratica nella raccolta di dati da API reali:
- JSONPlaceholder per esercitarsi senza autenticazione
- OpenWeatherMap con i parametri
q,appideunits, oltre a una chiave letta dall'ambiente - Wikipedia API per la ricerca e gli estratti degli articoli
- Il flusso di lavoro dal recupero al DataFrame e il modo di accedere ai dati JSON annidati
- Buone pratiche: User-Agent, caching, limiti di frequenza e termini di utilizzo
La raccolta dei dati è completata. Prossimo argomento: le espressioni regolari per l'IA testuale.
Domande Frequenti
La lezione «Utilizzo delle API pubbliche per i dati» è gratuita?
Sì — il testo completo di «Utilizzo delle API pubbliche per i dati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Utilizzo delle API pubbliche per i dati»?
OpenWeatherMap, Wikipedia e API pubbliche governative: esempi pratici di raccolta dati. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Utilizzo delle API pubbliche per i dati»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti delle API REST per la raccolta dei dati
- Paginazione e raccolta di grandi dataset
- Archiviazione efficiente dei dati raccolti
- Utilizzo delle API pubbliche per i dati