slogan3

Ontwerp een Python Script voor API Integratie en Data Extractie

description

Met deze prompt kan de gebruiker een Python script ontwikkelen dat externe API's gebruikt om dynamische data op te halen en te verwerken, wat handig is voor data-analyse, automatisering of integratie tussen systemen. De uitleg over authenticatie en foutafhandeling maakt het script robuuster en praktischer dan simpele codevoorbeelden.

prompt

Help me met het schrijven van een Python script dat verbinding maakt met de API van <voer de naam of URL van de API in> om gege ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een stapsgewijze uitleg en een voorbeeld Python-script dat verbinding maakt met de OpenWeatherMap API om het weer voor Amsterdam op te halen en te verwerken. **Stap 1: Authenticatie** - De API vereist een API-sleutel (`appid`) die je krijgt wanneer je je registreert op [OpenWeatherMap](https://openweathermap.org/). - Je vervangt `your_api_key` door je eigen API-sleutel. **Stap 2: Verzoeken maken** - We gebruiken de `requests` bibliotheek om HTTP-verzoeken te doen. - Het request is een GET-verzoek naar de API-URL, met als parameters de locatie (`q=Amsterdam`) en je API-sleutel (`appid=...`). **Stap 3: Ontvangen en verwerken van data** - De API geeft gegevens terug in JSON-formaat. - We parseren deze JSON-data om relevante informatie zoals temperatuur, weersomstandigheden, enz. te extraheren. Hier is een voorbeeld Python-script: ```python import requests # Vervang 'jouw_api_sleutel' door jouw eigen API-sleutel API_KEY = 'jouw_api_sleutel' # URL van de API met parameters url = 'https://api.openweathermap.org/data/2.5/weather' # Parameters voor het API-verzoek params = { 'q': 'Amsterdam', # Plaatsnaam 'appid': API_KEY, # API-sleutel 'units': 'metric', # Temperatuur in Celsius 'lang': 'nl' # Resultaten in het Nederlands } try: # Verzoek naar de API response = requests.get(url, params=params) # Controleren of het verzoek succesvol was response.raise_for_status() # JSON-gegevens ophalen data = response.json() # Uitlezen van relevante gegevens temperatuur = data['main']['temp'] weer_beschrijving = data['weather'][0]['description'] windsnelheid = data['wind']['speed'] locatie = data['name'] # Resultaat tonen print(f"Het weer in {locatie}:") print(f"Temperatuur: {temperatuur}°C") print(f"Weersomstandigheden: {weers_beschrijving}") print(f"Windsnelheid: {windsnelheid} m/s") except requests.exceptions.HTTPError as err: print(f"HTTP fout: {err}") except requests.exceptions.RequestException as err: print(f"Verzoek fout: {err}") except KeyError as err: print(f"Ontvangen gegevens ontbreken: {err}") ``` **Uitleg:** - `requests.get()` doet het GET-verzoek naar de API met de juiste parameters. - `response.raise_for_status()` zorgt dat er een fout wordt weergegeven als het verzoek niet succesvol is. - `response.json()` zet de JSON-gegevens om in een Python-dictionary. - Vervolgens halen we de relevante gegevens uit de dictionary. - Met `try-except` blokken vangen we mogelijke fouten af, zoals HTTP-fouten of ontbrekende data. **Opmerking:** - Vergeet niet je eigen API-sleutel in te vullen bij `API_KEY`. - Dit script geeft basisinformatie weer; je kunt het uitbreiden met meer gegevens of functionaliteiten naar wens.
provider: deepseek
model: deepseek-chat
Zeker, ik help je met een Python script om weergegevens op te halen van OpenWeatherMap. Hier is een complete uitleg: ## Benodigde voorbereiding 1. **API Key aanvragen**: Registreer op [OpenWeatherMap](https://openweathermap.org/api) voor een gratis API key 2. **Installatie**: `pip install requests` ## Python Script ```python import requests import json def haal_weer_gegevens_op(stad, api_key): """ Haalt weergegevens op van OpenWeatherMap API Args: stad (str): Naam van de stad api_key (str): Jouw OpenWeatherMap API key Returns: dict: Weergegevens of None bij fout """ # Basis URL voor de API base_url = "https://api.openweathermap.org/data/2.5/weather" # Parameters voor het verzoek params = { 'q': stad, 'appid': api_key, 'units': 'metric', # Metrische eenheden (Celsius) 'lang': 'nl' # Nederlandse taal } try: # Verstuur GET verzoek response = requests.get(base_url, params=params) # Controleer of verzoek succesvol was (status code 200) if response.status_code == 200: # Parse JSON response data = response.json() return data else: print(f"Fout: {response.status_code} - {response.text}") return None except requests.exceptions.RequestException as e: print(f"Netwerkfout: {e}") return None except json.JSONDecodeError as e: print(f"JSON parse fout: {e}") return None def verwerk_weer_gegevens(weer_data): """ Verwerkt en toont de weergegevens Args: weer_data (dict): Weergegevens van de API """ if not weer_data: print("Geen gegevens om te verwerken") return try: # Extraheer belangrijke informatie stad = weer_data['name'] land = weer_data['sys']['country'] temperatuur = weer_data['main']['temp'] gevoelstemperatuur = weer_data['main']['feels_like'] luchtvochtigheid = weer_data['main']['humidity'] beschrijving = weer_data['weather'][0]['description'] windsnelheid = weer_data['wind']['speed'] # Toon de gegevens print(f"\n=== Weergegevens voor {stad}, {land} ===") print(f"Temperatuur: {temperatuur}°C") print(f"Gevoelstemperatuur: {gevoelstemperatuur}°C") print(f"Weersomstandigheden: {beschrijving.capitalize()}") print(f"Luchtvochtigheid: {luchtvochtigheid}%") print(f"Windsnelheid: {windsnelheid} m/s") except KeyError as e: print(f"Ontbrekende gegevens in API response: {e}") # Hoofdprogramma if __name__ == "__main__": # Vervang met jouw eigen API key API_KEY = "jouw_api_key_hier" STAD = "Amsterdam" # Haal gegevens op weer_data = haal_weer_gegevens_op(STAD, API_KEY) # Verwerk en toon gegevens if weer_data: verwerk_weer_gegevens(weer_data) # Optioneel: Bewaar gegevens in JSON bestand with open('weer_gegevens.json', 'w') as f: json.dump(weer_data, f, indent=2) print("\nGegevens opgeslagen in 'weer_gegevens.json'") ``` ## Belangrijke punten: ### 1. **Authenticatie** - Gebruik je persoonlijke API key in de `appid` parameter - Bewaar API keys nooit in versiebeheer (gebruik environment variables) ### 2. **Verzoeken** - `requests.get()` voor HTTP GET verzoek - Parameters worden meegegeven als dictionary - Foutafhandeling met try-except blokken ### 3. **Data Verwerking** - JSON response wordt geparsed naar Python dictionary - Gegevens worden geëxtraheerd met dictionary keys - Foutafhandeling voor ontbrekende velden ### 4. **Verbeterde versie met environment variables** ```python import os from dotenv import load_dotenv # Laad environment variables load_dotenv() API_KEY = os.getenv('OPENWEATHER_API_KEY') ``` Zoek eerst een gratis API key aan en vervang `"jouw_api_key_hier"` met je eigen key!