Zum Fußzeileninhalt springen
PYTHON-HILFE

Requests-Bibliothek in Python: Ein Tutorial

In der vielfältigen Umgebung der Webentwicklung und Datenabfrage ist Python eine außergewöhnliche Sprache. Seine Einfachheit, gepaart mit leistungsstarken Bibliotheken, macht es zu einer idealen Wahl für die Handhabung von HTTP-Anfragen. Unter diesen Bibliotheken sticht das Python Requests-Modul als vielseitiges und benutzerfreundliches Werkzeug für die Interaktion mit Webdiensten hervor.

In diesem Artikel werden wir die Grundlagen von HTTP-Anfragen untersuchen und erkunden, wie die Requests-Bibliothek Python-Entwickler befähigt, sie effizient zu bearbeiten. Wir werden auch untersuchen, wie HTTP-Anfragen mit einer Bibliothek wie IronPDF für Python verwendet werden können, um das Erstellen und Bearbeiten von PDFs zu erleichtern.

Verständnis von HTTP-Anfragen

HTTP (Hypertext Transfer Protocol) ist die Grundlage der Datenkommunikation im World Wide Web. Es ist ein Protokoll, das den Austausch von Hypertext wie HTML zwischen Clients (Webbrowsern) und Servern regelt. HTTP funktioniert als Anfrage-Antwort-Protokoll, bei dem ein Client eine Anfrage an einen Server sendet und der Server mit der angeforderten Ressource antwortet.

Eine HTTP-Anfrage besteht typischerweise aus mehreren Komponenten:

  1. HTTP-Methode: Gibt die Aktion an, die der Client ausführen möchte, um eine HTTP-Anfrage zu stellen. Häufige Methoden sind GET, POST, PUT, DELETE usw.
  2. URL: Uniform Resource Locator, der die angeforderte Ressource identifiziert.
  3. Anfrage-Header: Zusätzliche Informationen, die mit der Anfrage gesendet werden, wie Authentifizierungsdaten, Inhaltstyp usw.
  4. Körper: Daten, die mit einer POST- oder PUT-Anfrage gesendet werden.

Einführung in die Requests-Bibliothek

Die Requests-Bibliothek in Python vereinfacht den Prozess der Erstellung von HTTP-Anfragen. Sie bietet eine elegante und intuitive API zum Senden verschiedener Arten von Anfragen und zur nahtlosen Bearbeitung von Antworten.

Requests Python (Funktionsweise für Entwickler): Abbildung 1 - Requests-Bibliotheks-Webseite mit Installationsinformationen

Lassen Sie uns einige grundlegende Anwendungsbeispiele durchgehen, aber zuerst sehen wir uns den Installationsprozess des Requests-Moduls an.

Installation

Stellen Sie sicher, dass die Requests-Bibliothek installiert ist, bevor Sie sie verwenden. Sie können es über pip installieren:

pip install requests
pip install requests
SHELL

Erstellen einer GET-Anfrage

Verwenden Sie die requests.get()-Methode, um eine GET-Anfrage an eine angegebene URL zu senden:

import requests

# Make a GET request to the URL
response = requests.get('https://api.example.com/data')

# Print the response text (content of the response)
print(response.text)
import requests

# Make a GET request to the URL
response = requests.get('https://api.example.com/data')

# Print the response text (content of the response)
print(response.text)
PYTHON

Dieser Code sendet eine GET-Anfrage an die angegebene URL https://api.example.com/data und gibt den Antwortkörper aus.

Erstellen einer POST-Anfrage

Um POST-Anfragen mit Daten zu erstellen, verwenden Sie die requests.post()-Methode:

import requests

# Data to send in the POST request
data = {'key': 'value'}

# Make a POST request with data
response = requests.post('https://api.example.com/post', data=data)

# Print the response in JSON format
print(response.json())
import requests

# Data to send in the POST request
data = {'key': 'value'}

# Make a POST request with data
response = requests.post('https://api.example.com/post', data=data)

# Print the response in JSON format
print(response.json())
PYTHON

Hier senden wir eine POST-Anfrage mit JSON-Daten an https://api.example.com/post und geben die JSON-Antwortdaten aus.

Bearbeitung eines Antwortobjekts

Das von einer HTTP-Anfrage zurückgegebene Antwortobjekt bietet verschiedene Attribute und Methoden, um auf unterschiedliche Aspekte der Antwort zuzugreifen, wie z.B. HTTP-Header, Statuscode, Inhalt usw. Zum Beispiel:

import requests

# Make a GET request
response = requests.get('https://api.example.com/data')

# Print the status code of the response
print(response.status_code)

# Print the response headers
print(response.headers)
import requests

# Make a GET request
response = requests.get('https://api.example.com/data')

# Print the status code of the response
print(response.status_code)

# Print the response headers
print(response.headers)
PYTHON

Fehlerbehandlung

Beim Erstellen von HTTP-Anfragen ist es wichtig, Fehler elegant zu behandeln. Die Requests-Bibliothek vereinfacht die Fehlerbehandlung, indem sie Ausnahmen für häufige Fehler wie Verbindungsfehler und Zeitüberschreitungen auslöst. Zum Beispiel:

import requests

try:
    # Make a GET request
    response = requests.get('https://api.example.com/data')

    # Raise an exception for HTTP errors
    response.raise_for_status()
except requests.exceptions.HTTPError as err:
    # Print the error message
    print(err)
import requests

try:
    # Make a GET request
    response = requests.get('https://api.example.com/data')

    # Raise an exception for HTTP errors
    response.raise_for_status()
except requests.exceptions.HTTPError as err:
    # Print the error message
    print(err)
PYTHON

Deaktivierung der SSL-Zertifikatsüberprüfung

In der requests-Bibliothek können Sie die SSL-Zertifikatsüberprüfung deaktivieren, indem Sie den verify-Parameter in Ihrer Anfrage auf False setzen:

import requests

# Make a GET request with SSL verification disabled
response = requests.get('https://api.example.com/data', verify=False)

# Process the response
print(response.text)
import requests

# Make a GET request with SSL verification disabled
response = requests.get('https://api.example.com/data', verify=False)

# Process the response
print(response.text)
PYTHON

Einfügen von Abfragezeichenfolgen

Sie können in Ihrer URL auch Abfrageparameter einfügen, indem Sie den params-Parameter verwenden:

import requests

# Define query parameters
params = {'key': 'value', 'param2': 'value2'}

# Make a GET request with query parameters
response = requests.get('https://api.example.com/data', params=params)

# Process the response
print(response.text)
import requests

# Define query parameters
params = {'key': 'value', 'param2': 'value2'}

# Make a GET request with query parameters
response = requests.get('https://api.example.com/data', params=params)

# Process the response
print(response.text)
PYTHON

In diesem Beispiel enthält das params-Dictionary Abfrageparameter. Beim Erstellen der GET-Anfrage werden diese Parameter automatisch an die URL angehängt, was zu einer Anfrage-URL wie https://api.example.com/data?key=value&param2=value2 führt.

Integration von Requests mit IronPDF zur PDF-Erstellung

Bevor wir in die Implementierung einsteigen, lassen Sie uns kurz IronPDF verstehen.

IronPDF - Die Python-PDF-Bibliothek

IronPDF für Python ist eine beliebte Python-Bibliothek zum Erstellen, Lesen, Bearbeiten und Verarbeiten von PDF-Dokumenten. Sie bietet eine Vielzahl von Funktionen zur programmatischen Erstellung von professionell aussehenden PDFs.

Requests Python (Funktionsweise für Entwickler): Abbildung 2 - IronPDF-Webseite

Um mit IronPDF PDFs mit Inhalten, die über Requests abgerufen wurden, zu erstellen, führen Sie die folgenden Schritte durch:

Schritt 1: Installieren Sie IronPDF

Stellen Sie zunächst sicher, dass IronPDF in Ihrer Python-Umgebung installiert ist. Sie können es über pip installieren:

pip install ironpdf
pip install ironpdf
SHELL

Schritt 2: Inhalte mit Requests abrufen

Verwenden Sie die Requests-Bibliothek, um die Inhalte abzurufen, die Sie im PDF enthalten möchten. Zum Beispiel:

import requests

# Make a GET request to fetch data
response = requests.get('https://api.example.com/data')
data = response.text
import requests

# Make a GET request to fetch data
response = requests.get('https://api.example.com/data')
data = response.text
PYTHON

Schritt 3: PDF mit IronPDF generieren

Sobald Sie die Inhalte haben, verwenden Sie IronPDF, um das PDF zu erstellen. Hier ist ein einfaches Beispiel:

from ironpdf import ChromePdfRenderer

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from the data received from requests
pdf = renderer.RenderHtmlAsPdf(data)

# Export to a file
pdf.SaveAs("output.pdf")
from ironpdf import ChromePdfRenderer

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from the data received from requests
pdf = renderer.RenderHtmlAsPdf(data)

# Export to a file
pdf.SaveAs("output.pdf")
PYTHON

In diesem Beispiel enthält data die HTML-Inhalte, die über Requests abgerufen wurden. IronPDFs RenderHtmlAsPdf()-Methode konvertiert diese HTML-Inhalte in ein PDF-Dokument. Abschließend wird das PDF mit der SaveAs()-Methode in einer Datei gespeichert.

Mit der Requests-Bibliothek macht Python die Interaktion mit dem Web zum Kinderspiel und ermöglicht Entwicklern, sich mehr auf die Erstellung großartiger Anwendungen zu konzentrieren, anstatt sich mit den Komplexitäten der HTTP-Kommunikation auseinanderzusetzen.

Erweiterte Nutzung

Sie können den PDF-Erstellungsprozess weiter verbessern, indem Sie die PDF-Einstellungen, Ränder, Ausrichtung, Bilder, CSS, JavaScript und mehr mit den umfangreichen Fähigkeiten von IronPDF anpassen. Zum Beispiel:

# Set page margins
renderer.RenderingOptions.MarginTop = 40  # millimeters
renderer.RenderingOptions.MarginLeft = 20  # millimeters
renderer.RenderingOptions.MarginRight = 20  # millimeters
renderer.RenderingOptions.MarginBottom = 40  # millimeters

# Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
my_advanced_pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\\site\\assets")
my_advanced_pdf.SaveAs("html-with-assets.pdf")
# Set page margins
renderer.RenderingOptions.MarginTop = 40  # millimeters
renderer.RenderingOptions.MarginLeft = 20  # millimeters
renderer.RenderingOptions.MarginRight = 20  # millimeters
renderer.RenderingOptions.MarginBottom = 40  # millimeters

# Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
my_advanced_pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\\site\\assets")
my_advanced_pdf.SaveAs("html-with-assets.pdf")
PYTHON

Hier setzen wir Seitenränder und fügen Bilder aus dem Basisverzeichnis hinzu, bevor wir es in einer Datei speichern.

Für weitere Informationen zu IronPDF-Funktionen und -Möglichkeiten besuchen Sie bitte die Dokumentationsseite und sehen Sie sich diese gebrauchsfertigen Code-Beispiele zur Integration mit Python an.

Abschluss

Die Requests-Bibliothek in Python bietet eine leistungsstarke und dennoch einfache Schnittstelle zur Erstellung von HTTP-Anfragen. Egal, ob Sie Daten von APIs abrufen, mit Webdiensten interagieren oder Webseiten scrapen, Requests vereinfacht den HTTP-Anfrageprozess mit seiner intuitiven API und robusten Funktionen.

Die Kombination von IronPDF für Python mit Requests in Python eröffnet eine Welt von Möglichkeiten zur dynamischen Erstellung von PDF-Dokumenten aus abgerufenen Inhalten. Indem sie die in diesem Artikel beschriebenen Schritte befolgen und die erweiterten Funktionen sowohl von IronPDF als auch von Requests erkunden, können Python-Entwickler ihren PDF-Erstellungsprozess optimieren und hochwertige Dokumente erstellen, die auf ihre spezifischen Anforderungen zugeschnitten sind.

Requests Python (Funktionsweise für Entwickler): Abbildung 3 - IronPDF-Lizenzierungsseite

IronPDF ist perfekt für Unternehmen. Probieren Sie die kostenlose Testversion von IronPDF, beginnend bei $799, aus und mit einer Geld-zurück-Garantie ist es eine sichere Wahl für die Verwaltung Ihrer Dokumente. Laden Sie IronPDF jetzt herunter und erleben Sie nahtlose PDF-Integration!

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen