Was ist die Requests-Bibliothek und warum wird sie benötigt?
Die Requests-Bibliothek ist eine der beliebtesten und am einfachsten zu verwendenden Python-Bibliotheken für HTTP-Anfragen. Sie bietet eine benutzerfreundliche Schnittstelle zum Senden von GET-, POST-, PUT-, DELETE- und anderen HTTP-Anfragen mit minimalem Codeaufwand.
Die wichtigsten Vorteile der Requests-Bibliothek
- Einfache Syntax und intuitiv verständliche API
- Integrierte Unterstützung für Sitzungen und Cookie-Verwaltung
- Automatische Verarbeitung von JSON und Formulardaten
- Unterstützung verschiedener Authentifizierungsmethoden
- Möglichkeit zur Arbeit mit Proxy-Servern
- Ausführliche Dokumentation auf Deutsch und Englisch
- Aktive Unterstützung durch die Entwickler-Community
Installation der Requests-Bibliothek
Die Installation der Requests-Bibliothek erfolgt über den Paketmanager pip. Der Installationsprozess hängt von der verwendeten Python-Version ab.
Standardinstallation
pip install requests
Installation für Python 3
Wenn mehrere Python-Versionen auf dem System installiert sind, verwenden Sie den Befehl pip3 für die Installation in der Python 3-Umgebung:
pip3 install requests
Installation überprüfen
Nach der Installation können Sie den Erfolg überprüfen, indem Sie die Bibliothek in der Python-Konsole importieren:
import requests
print(requests.__version__)
Grundlagen der GET-Anfragen
GET-Anfragen werden verwendet, um Daten von einem Webserver abzurufen. Dies ist der häufigste HTTP-Anfragentyp in der Webentwicklung.
Einfache GET-Anfrage
import requests
response = requests.get('https://api.github.com')
print(response.status_code) # Statuscode der Antwort (200 = OK)
print(response.text) # Antworttext als Zeichenkette
Analyse der Serverantwort
Bei der Arbeit mit GET-Anfragen ist es wichtig, die erhaltene Antwort richtig zu analysieren. Das response-Objekt enthält viele nützliche Attribute:
status_code- HTTP-Status der Antworttext- Inhalt der Antwort im Textformatcontent- Inhalt der Antwort in Bytesheaders- Antwort-Headerurl- endgültige URL der Anfrage
Arbeiten mit Anfrageparametern
URL-Parameter können über ein Dictionary übergeben werden, was den Code lesbarer und einfacher anpassbar macht:
params = {
'q': 'python programming',
'page': 2,
'limit': 50
}
response = requests.get('https://www.example.com/search', params=params)
print(response.url) # Zeigt die erstellte URL mit Parametern an
POST-Anfragen und Datensendung an den Server
POST-Anfragen werden verwendet, um Daten an den Server zu senden, z. B. beim Ausfüllen von Formularen oder Erstellen neuer Einträge in einer Datenbank.
Formulardaten senden
data = {
'username': 'admin',
'password': '12345',
'email': 'admin@example.com'
}
response = requests.post('https://httpbin.org/post', data=data)
print(response.text)
JSON-Daten senden
Bei der Arbeit mit modernen APIs müssen Daten oft im JSON-Format gesendet werden. Die Requests-Bibliothek setzt bei Verwendung des json-Parameters automatisch den richtigen Content-Type:
import json
data = {
'name': 'Max Mustermann',
'age': 30,
'city': 'Berlin'
}
response = requests.post('https://httpbin.org/post', json=data)
result = response.json() # Automatische Umwandlung der Antwort in JSON
print(result)
Unterschiede zwischen den Parametern data und json
- Der Parameter
datasendet Daten als Formular (application/x-www-form-urlencoded) - Der Parameter
jsonsendet Daten automatisch als JSON (application/json)