Mit der requests-Bibliothek APIs ansprechen
Die requests-Bibliothek ist eine beliebte Python-Bibliothek, die das Senden von HTTP-Anfragen und das Arbeiten mit APIs (Application Programming Interfaces) erleichtert. In diesem Kapitel wirst Du sehen, wie Du die requests-Bibliothek verwenden kannst, um APIs auf einfache und effiziente Weise anzusprechen.
Installation und Import
Zunächst musst Du die requests-Bibliothek installieren. Dies kannst Du mit dem folgenden Befehl tun:
pip install requests
Nach der Installation kannst Du requests in Deinem Python-Code importieren:
import requests
Einfache GET-Anfrage
Um eine GET-Anfrage an eine API zu senden, verwendest Du die `get()`-Methode. Hier ist ein Beispiel, das die GitHub-API verwendet, um Informationen über einen Benutzer abzurufen:
response = requests.get('https://api.github.com/users/your_username_here')
# Informationen aus der Antwort extrahieren
data = response.json()
print(data)
Query-Parameter hinzufügen
Manchmal musst Du einer Anfrage zusätzliche Parameter hinzufügen. Hier ist ein Beispiel, das die OpenWeatherMap-API verwendet, um das aktuelle Wetter für eine Stadt abzurufen:
api_key = 'your_api_key_here'
city = 'Berlin'
url = f'https://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}'
response = requests.get(url)
weather_data = response.json()
print(weather_data)
POST-Anfrage
Wenn Du Daten an eine API senden möchtest, verwendest Du eine POST-Anfrage. Hier ist ein Beispiel, das die JSONPlaceholder-API verwendet, um einen neuen Beitrag zu erstellen:
url = 'https://jsonplaceholder.typicode.com/posts'
# Daten für die POST-Anfrage
post_data = {
'title': 'My first post',
'body': 'This is the content of my first post.',
'userId': 1
}
response = requests.post(url, json=post_data)
new_post = response.json()
print(new_post)
Fehlerbehandlung
Es ist wichtig, die Fehlerbehandlung in Deinen Anfragen zu berücksichtigen. Du kannst den Statuscode der Antwort überprüfen, um festzustellen, ob die Anfrage erfolgreich war:
response = requests.get('https://api.github.com/users/nonexistent_user')
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"An error occurred: {response.status_code}")
Fazit
Die requests-Bibliothek ist ein mächtiges Werkzeug für das Arbeiten mit APIs in Python. Mit ihren einfachen Methoden wie `get()` und `post()` und der Möglichkeit, JSON-Daten direkt aus der Antwort zu extrahieren, ermöglicht sie es Dir, APIs effizient und effektiv anzusprechen. Achte darauf, die Fehlerbehandlung in Deinem Code zu berücksichtigen, um auf mögliche Probleme vorbereitet zu sein.