Data ophalen uit een API
In deze oefening gebruik je requests.get() om de Yelp Business Search API te bevragen voor cafés in New York City. requests.get() heeft een URL nodig om data op te halen. De Yelp API heeft ook zoekparameters en autorisatieheaders nodig, die je respectievelijk doorgeeft aan de keyword-argumenten params en headers.
Je moet de data uit de response halen met de methode json() en die doorgeven aan de functie DataFrame() van pandas om er een dataframe van te maken. Let op: de benodigde data staat onder de dictionary-sleutel "businesses".
pandas (als pd) en requests zijn al geladen. Autorisatiegegevens staan in de dictionary headers, en de vereiste API-parameters zijn opgeslagen als params.
Deze oefening maakt deel uit van de cursus
Gestroomlijnde data-inname met pandas
Oefeninstructies
- Haal gegevens over cafés in New York City op via de Yelp API (
api_url) metrequests.get(). De benodigde info inparamsenheadersis al meegegeven. - Haal de JSON-data uit de response met de methode
json()en ken die toe aandata. - Laad de lijst met cafés in het dataframe
cafesmet de functieDataFrame()vanpandas. De lijsten staan onder de sleutel"businesses"indata. - Print de
dtypesvan het dataframe om te zien welke informatie je krijgt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
api_url = "https://api.yelp.com/v3/businesses/search"
# Get data about NYC cafes from the Yelp API
response = ____(____,
headers=headers,
params=params)
# Extract JSON data from the response
data = response.____
# Load data to a dataframe
cafes = ____(____)
# View the data's dtypes
print(cafes.dtypes)