Python greift effizient auf die HTTP -API zu: fordert Bibliothek an und fordert Cache
an.Dieser Artikel wird aus "praktischem Python" ausgewählt, und der Autor Stuart zeigt, wie man mit Python und mehreren Modulen von Drittanbietern leicht auf die HTTP-API zugreift.
In den meisten Fällen ist die Verarbeitung von Daten von Drittanbietern zu Zugriff auf die HTTP-API erforderlich, d. H. Das Senden von HTTP-Anfragen an Webseiten, die eher von Maschinen als manuell gelesen werden sollen. Die API-Daten befinden sich normalerweise in einem maschinenlesbaren Format, normalerweise in JSON oder XML. Lassen Sie uns mithilfe von Python sehen, wie Sie auf die HTTP -API zugreifen.Die Grundprinzipien der Verwendung von HTTP -API sind einfach:
- Senden Sie eine HTTP -Anfrage an die URL der API, die einige Authentifizierungsinformationen (wie API -Schlüssel) enthalten kann, um zu beweisen, dass wir autorisiert sind.
- Daten abrufen.
- Verwenden Sie Daten, um nützliche Vorgänge abzuschließen.
-Modul. Dies ist eine HTTP-Bibliothek für Python, mit der HTTP-Daten bequemer werden als Pythons integriertes requests
und können mit urllib.request
installiert werden. python -m pip install requests
Erstens werden wir schnell sehen, welche Bilder auf Pixabay verfügbar sind. Wir werden hundert Bilder schnappen, sie schnell stöbern und den gewünschten auswählen. Dazu benötigen wir einen Pixabay -API -Schlüssel, daher müssen wir ein Konto erstellen und dann den Schlüssel aus dem Suchbildabschnitt des API -Dokuments abrufen.
fordert Modul
an
Die grundlegenden Versionen der Verwendung des -Moduls, um HTTP -Anforderungen an die API zu stellen, umfassen das Erstellen von HTTP -URLs, das Erstellen von Anforderungen und das Lesen von Antworten. Hier ist die Antwort im JSON -Format. Das requests
-Modul macht jeden Schritt sehr einfach. Der API -Parameter ist ein Python -Wörterbuch, und die requests
-Funktion macht einen Aufruf. Daher sieht ein einfacher Anruf so aus: get()
requests
.json
Dies gibt ein Python -Objekt zurück, und wie in der API -Dokumentation vorgeschlagen, können wir seine verschiedenen Teile anzeigen:
Um hundert Ergebnisse zu erzielen, können wir einfach entscheiden, fünf Anrufe zu tätigen, von denen jedes 20 Ergebnisse erzielt, aber dies ist nicht robust genug. Ein besserer Ansatz besteht darin, die Anforderungsseite zu durchlaufen, bis Sie die gewünschten hundert Ergebnisse erzielen und dann anhalten. Dies verhindert Probleme, wenn Pixabay die Standardzahl der Ergebnisse ändert (z. B. bis 15). Es ermöglicht uns auch, die Situation zu bewältigen, in der die Suchbegriffe keine hundert Bilder haben. Wir verwenden also eine while
-Schleife, die jedes Mal die Seitenzahl erhöhen. Wenn wir 100 Bilder erreicht haben oder es kein Bild zum Abrufen gibt, beenden wir die Schleife:
cache http requests
Es ist eine gute Idee, nicht mehrmals bei der HTTP -API dieselben Anfragen zu stellen. Viele APIs haben Verwendungsbeschränkungen, um Überbeanspruchung durch Anfragen zu vermeiden, und Anfragen nehmen Zeit und Mühe. Wir sollten versuchen, frühere Anfragen zu vermeiden. Glücklicherweise gibt es eine nützliche Möglichkeit, dies zu tun, wenn das Python requests
-Modul verwendet wird: Installieren Sie python -m pip install requests-cache
mit requests-cache
. Dadurch werden die von uns getätigten HTTP -Anrufe nahtlos aufgezeichnet und die Ergebnisse speichern. Dann, später, wenn wir denselben Anruf erneut tätigen, erhalten wir das lokal gespeicherte Ergebnis, ohne wieder auf die API zugreifen zu müssen. Dies spart Zeit und Bandbreite. Um requests_cache
zu verwenden, es zu importieren und ein CachedSession
zu erstellen und dann session.get
anstelle von requests.get
zu verwenden, um die URL zu erhalten, erhalten wir die Vorteile des Caching ohne zusätzliche Anstrengung:
Ausgabe
erzeugen Um die Abfrageergebnisse anzuzeigen, müssen wir das Bild irgendwo anzeigen. Eine bequeme Möglichkeit besteht darin, eine einfache HTML -Seite zu erstellen, um jedes Bild anzuzeigen. Pixabay bietet kleine Miniaturansichten für jedes Bild, das in der API -Antwort previewURL
bezeichnet wird, sodass wir eine HTML -Seite erstellen können wollen und unterschreiben Sie den Fotografen. Daher könnte jedes Bild auf der Seite so aussehen:
Wir können es aus der Liste images
mit Listenverständnis erstellen und dann "n".join()
verwenden, um alle Ergebnisse in eine große Zeichenfolge zu verkettet:
Wenn wir dann eine sehr einfache HTML -Seite mit dieser Liste schreiben, können Sie sie einfach in einem Webbrowser öffnen. Zeigen Sie schnell alle Suchergebnisse an, die wir von der API erhalten Pixabay -Seite:
Dieser Artikel ist aus praktischem Python ausgewählt und kann bei SitePoint Premium- und E-Book-Einzelhändlern gekauft werden.
(Folgende FAQs sind nach dem Originaltext umgeschrieben und optimiert)
Häufig gestellte Fragen zum Erhalten von Daten mit Pythons HTTP -API (FAQs)
-
Was ist der Unterschied zwischen http und https? http ist ein Hypertext -Transferprotokoll, und HTTPS ist ein sicheres Hypertext -Transferprotokoll. Der Hauptunterschied besteht darin, dass HTTPS SSL -Zertifikate verwendet, um eine sichere verschlüsselte Verbindung zwischen dem Server und dem Client herzustellen, während HTTP dies nicht tut. Dies macht HTTPS sicherer, wenn sensible Daten wie Kreditkarteninformationen oder Anmeldeinformationen übertragen werden.
-
Wie funktioniert HTTP in Python? Mehrere Bibliotheken können in Python verwendet werden, um HTTP -Anforderungen auszustellen. Die am häufigsten verwendeten ist
requests
. Mit dieser Bibliothek können Sie HTTP-Anforderungen und Prozessantworten senden, einschließlich Verarbeitung von Cookies, Formulardaten, mehrteiligen Dateien und mehr. Es ist ein leistungsstarkes Tool für die Interaktion mit Webdiensten und kann in einer Vielzahl von Anwendungen verwendet werden. -
Was sind die üblichen HTTP -Methoden? Wie benutze ich sie in Python? Die häufigsten HTTP -Methoden sind Get, Post, Put, Löschen, Kopf, Optionen und Patch. In Python können Sie die
requests
Bibliothek verwenden, um diese Methoden zu verwenden. Um beispielsweise eine Get -Anfrage zu senden, können Sierequests.get(url)
und um eine Postanforderung zu senden, können Sierequests.post(url, data)
verwenden. -
Wie gehe ich mit HTTP -Antworten in Python um? Wenn Sie mit der Bibliothek
requests
HTTP -Anforderungen in Python senden, erhalten Sie ein Antwortobjekt. Dieses Objekt enthält die Antwort des Servers auf Ihre Anfrage. Wenn sich die Antwort im JSON -Format befindet, können Sieresponse.text
oderresponse.json()
auf den Inhalt der Antwort zugreifen. Sie können auchresponse.status_code
verwenden, um den Statuscode der Antwort zu überprüfen. -
Wie verwendet ich HTTP -Header in Python? Sie können sie in Python verwenden, indem Sie HTTP -Header als Wörterbuch zum
requests
-Parameter derheaders
-Funktion übergeben. Zum Beispielrequests.get(url, headers={'User-Agent': 'my-app'})
. Der Header kann verwendet werden, um zusätzliche Informationen über die Anfrage oder den Kunden bereitzustellen, z. B. Benutzeragenten, Inhaltstyp, Autorisierung usw. -
Wie gehe ich mit Cookies in Python um? Cookies können in Python unter Verwendung des
cookies
-attributs des Antwortobjekts verarbeitet werden. Sie können auf die vom Server gesendeten Cookies mitresponse.cookies
zugreifen und die Cookies an den Server senden, indem Sie sie als Wörterbuch an den Parameterrequests
dercookies
-Funktion übergeben. -
Wie sende ich Formulardaten mit der Postanforderung in Python? kann es mit einer Postanforderung in Python gesendet werden, indem die Formdaten als Wörterbuch an den Parameter
requests.post
derdata
-Funktion übergeben werden. Zum Beispielrequests.post(url, data={'key': 'value'})
. Dierequests
Bibliothek codiert die Daten automatisch im richtigen Format. -
Wie sende ich eine Datei mit der Postanforderung in Python? Dateien können mit post -Anfragen in Python gesendet werden, indem sie als Wörterbuch an den Parameter
requests.post
derfiles
-Funktion übergeben werden. Das Wörterbuch sollte den Namen des Dateifelds als Schlüssel und das Tupel enthalten, das den Dateinamen und das Dateiobjekt als Werte enthält. -
Wie kann man mit Fehlern und Ausnahmen der Bibliothek in Python umgehen?
requests
Die Bibliothek in Python wirft Ausnahmen für bestimmte Arten von Fehlern wie Netzwerkfehler oder Zeitüberschreitungen aus. Sie können den Versuch/außer Block verwenden, um diese Ausnahmen zu fangen und sie angemessen zu behandeln. Sie können auch den Statuscode der Antwort überprüfen, um HTTP -Fehler zu behandeln.requests
-
Wie kann man in Python eine asynchrone HTTP -Anfrage stellen? Sie können mit der Bibliothek asynchrone HTTP -Anforderungen in Python ausstellen. Mit dieser Bibliothek können Sie HTTP -Anfragen asynchron und Prozessantworten senden, wodurch die Leistung Ihrer Anwendung bei der Bearbeitung einer großen Anzahl von Anforderungen erheblich verbessern kann.
aiohttp
Das obige ist der detaillierte Inhalt vonDaten aus einer HTTP -API mit Python abrufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Python und C haben signifikante Unterschiede in der Speicherverwaltung und -kontrolle. 1. Python verwendet die automatische Speicherverwaltung, basierend auf der Referenzzählung und der Müllsammlung, um die Arbeit von Programmierern zu vereinfachen. 2.C erfordert eine manuelle Speicherverwaltung und liefert mehr Kontrolle, aber die Komplexität und das Fehlerrisiko. Welche Sprache zu wählen sollte, sollte auf Projektanforderungen und Teamtechnologie -Stack basieren.

Zu den Anwendungen von Python im wissenschaftlichen Computer gehören Datenanalyse, maschinelles Lernen, numerische Simulation und Visualisierung. 1.Numpy bietet effiziente mehrdimensionale Arrays und mathematische Funktionen. 2. Scipy erweitert die Numpy -Funktionalität und bietet Optimierungs- und lineare Algebra -Tools. 3.. Pandas wird zur Datenverarbeitung und -analyse verwendet. 4.Matplotlib wird verwendet, um verschiedene Grafiken und visuelle Ergebnisse zu erzeugen.

Ob die Auswahl von Python oder C von den Projektanforderungen abhängt: 1) Python eignet sich aufgrund seiner prägnanten Syntax und reichhaltigen Bibliotheken für schnelle Entwicklung, Datenwissenschaft und Skripten; 2) C ist für Szenarien geeignet, die aufgrund seiner Zusammenstellung und des manuellen Speichermanagements eine hohe Leistung und die zugrunde liegende Kontrolle erfordern, wie z. B. Systemprogrammierung und Spielentwicklung.

Python wird in Datenwissenschaft und maschinellem Lernen häufig verwendet, wobei hauptsächlich auf seine Einfachheit und ein leistungsstarkes Bibliotheksökosystem beruhen. 1) Pandas wird zur Datenverarbeitung und -analyse verwendet, 2) Numpy liefert effiziente numerische Berechnungen, und 3) Scikit-Learn wird für die Konstruktion und Optimierung des maschinellen Lernens verwendet. Diese Bibliotheken machen Python zu einem idealen Werkzeug für Datenwissenschaft und maschinelles Lernen.

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.