In diesem Lernprogramm werden Sie mit Web-APIs vertraut gemacht und lernen, wie Sie mit der Request-Python-Bibliothek Informationen in Web-APIs abrufen und aktualisieren. Sie erfahren auch, wie Sie mit der Twitter-API als Arbeitsbeispiel interagieren können.
Eine API (Application Programming Interface) ist ein Framework zum Erstellen von HTTP-Diensten, die von einer Vielzahl von Clients genutzt werden können. Web-APIs verwenden das HTTP-Protokoll, um Anforderungen zwischen dem Client und dem Webserver zu verarbeiten.
Zu den häufigsten APIs, mit denen Entwickler ihre Infrastruktur integrieren und nutzen können, gehören:
Einer der wichtigsten Gründe für die Verwendung einer API im Gegensatz zu anderen statischen Datenquellen ist die Echtzeit. Zum Beispiel holt die Twitter-API, die wir verwenden werden, Echtzeitdaten aus dem sozialen Netzwerk.
Ein weiterer Vorteil ist, dass sich die Daten ständig ändern. Wenn Sie diese Daten in regelmäßigen Abständen herunterladen, ist dies zeitaufwändig.
Um eine API verwenden zu können, müssen Sie die Anforderungs-Python-Bibliothek installieren. Requests ist eine HTTP-Bibliothek in Python, mit der Sie HTTP-Anforderungen in Python senden können.
Geben Sie in Ihr Terminal Folgendes ein:
Pip-Installationsanfragen
Geben Sie den folgenden Befehl in Ihrem Python-Interpreter oder im Terminal ein, um zu überprüfen, ob die Installation erfolgreich war:
Importanfragen
Wenn keine Fehler aufgetreten sind, war die Installation erfolgreich.
Die GET-Methode wird verwendet, um Informationen von einem Webserver abzurufen. Mal sehen, wie man eine GET-Anfrage stellt, um die öffentliche Timeline von GitHub zu erhalten.
Wir verwenden die Variable req
um die Antwort von unserer Anfrage zu speichern.
Importanforderungen req = request.get ('https://github.com/timeline.json')
Nachdem wir nun eine Anfrage an die GitHub-Timeline gestellt haben, wollen wir die Kodierung und den Inhalt der Antwort erhalten.
Anforderungen importieren req = anforderungen.get ('https://github.com/timeline.json') req.text u '"message": "Hallo, fremde Wegbereiter. Wenn Sie dies lesen, haben Sie wahrscheinlich nicht \ u2019t unseren Blog-Post vor ein paar Jahren wieder ankündigen und ankündigen, dass diese API wegfallen würde: http://git.io/17AROg Keine Angst, Sie sollten stattdessen das bekommen, was Sie brauchen, stattdessen von der glänzenden neuen Ereignis-API. "," documentation_url ":" https://developer.github.com/v3/activity/events/#list-public-events "
Importanforderungen req = request.get ('https://github.com/timeline.json') req.encoding 'utf-8'
Requests verfügt über einen integrierten JSON-Decode, mit dem Sie die Antwort einer Anfrage im JSON-Format abrufen können.
Importanforderungen Import json req = request.get ('https://github.com/timeline.json') req.json () u'documentation_url ': u'https: //developer.github.com/v3/activity / events / # list-public-events ', u'message': u'Hallo da, weggefahrener Fremder. Wenn Sie dies lesen, haben Sie wahrscheinlich nicht gesehen, dass unser Blog vor ein paar Jahren angekündigt hatte, dass diese API verschwinden würde: http://git.io/17AROg Keine Angst, Sie sollten das bekommen, was Sie brauchen stattdessen von der glänzenden neuen Ereignis-API. '
Die POST- und PUT-Methoden werden beide zum Erstellen und Aktualisieren von Daten verwendet. Trotz der Ähnlichkeiten ist es wichtig zu beachten, dass die Verwendung einer POST-Anforderung zum Aktualisieren von Daten zu zwei Einträgen im Datenspeicher führt, wenn zwei identische Elemente gesendet werden.
Daten erstellen (POST-Anfrage):
r = request.post ('http://127.0.0.1/api/v1/add_item', data = 'task': 'Shopping')
Daten aktualisieren (PUT-Anfrage):
r = request.put ('http://127.0.0.1/api/v1/add_item', data = 'task': 'Shopping at 2')
In diesem Abschnitt erfahren Sie, wie Sie die Anmeldeinformationen der Twitter-API erhalten, sich bei der Twitter-API authentifizieren und mit der Twitter-API mithilfe von Python interagieren.
Sie können auch Informationen von öffentlichen Twitter-Konten wie Tweets, Followern usw. abrufen.
Wir müssen uns mit der Twitter-API authentifizieren, bevor wir damit interagieren können. Führen Sie dazu die folgenden Schritte aus:
3. Erstellen Sie einen Namen und eine Beschreibung für Ihre App und einen Website-Platzhalter.
4. Suchen Sie das Registerkarte Schlüssel und Zugriffstoken und erstellen Sie Ihr Zugriffstoken.
5. Sie müssen das beachten Zugangstoken
und Zugriff auf das Token-Geheimnis
da Sie sie für die Authentifizierung benötigen.
6. Sie müssen auch das beachten Consumer Key
und Consumer Secret
.
Es gibt einige Bibliotheken, die wir verwenden können, um auf die Twitter-API zuzugreifen. In diesem Lernprogramm verwenden wir jedoch die Python-Twitter-Bibliothek.
Um python-twitter zu installieren, benutze:
$ pip install python-twitter
Die Twitter-API wird über die twitter.Api
Klasse, also lassen Sie uns die Klasse erstellen, indem Sie unsere Token und geheimen Schlüssel übergeben:
import twitter api = twitter.Api (consumer_key = [verbraucherschlüssel], consumer_secret = [verbrauchergeheimnis], access_token_key = [access token], access_token_secret = [access token secret])
Ersetzen Sie Ihre Anmeldeinformationen und stellen Sie sicher, dass sie in Anführungszeichen eingeschlossen sind, d. H. Consumer_key = "xxxxxxxxxx", ...).
Es gibt viele Methoden zur Interaktion mit der Twitter-API, darunter:
>>> api.PostUpdates (Status) >>> api.PostDirectMessage (Benutzer, Text) >>> api.GetUser (Benutzer) >>> api.GetReplies () >>> api.GetUserTimeline (Benutzer) >>> api .GetHomeTimeline () >>> api.GetStatus (status_id) >>> api.DestroyStatus (status_id) >>> api.GetFriends (Benutzer) >>> api.GetFollowers ()
Um Daten von Twitter zu erhalten, führen wir mit Hilfe der api
Objekt, das wir oben erstellt haben.
Wir werden folgendes tun:
Nutzer
Variable und gleich einem gültigen Twitter-Handle (Benutzername).Ruf den GetUserTimeline ()
Methode auf der api
Objekt und übergeben Sie die folgenden Argumente.
Anzahl
)include_rts = false
)Lasst uns die neuesten Tweets aus der Zeitleiste von Envato Tuts + Code erhalten, ausgenommen Retweets.
import twitter api = twitter.Api (consumer_key = "xxxxxxxxxxxx", consumer_secret = "xxxxxxxxxxxxxx"), access_token_key = "31474635-xxxxx", access_token_secret = "xxxxxx") user = status = api. count = 30, include_rts = False) für s in statuses: print s.text
Das GetUserTimeline ()
Die Methode gibt eine Liste der letzten 30 Tweets zurück. Wir durchlaufen die Liste und drucken die wichtigsten Informationen (Inhalte) aus jedem Tweet.
Hier sind 6 Dinge, die Yarn zum besten #JavaScript-Paketmanager machen. https://t.co/N4vzIJmSJi Weitere Informationen zu Balkendiagrammen finden Sie in Teil 3 dieser Serie zum Erstellen interaktiver Diagramme mit Plotly.js. https://t.co/lyKMxSsicJ In Xcode 9 erfahren Sie, was mit der Git-Unterstützung neu ist. https://t.co/7gGu0PV1rV So erstellen Sie digitale Signaturen mit Swift. https://t.co/kCYYjShJkW In diesem kurzen Tipp erfahren Sie, wie Sie Atom als Git-GUI verwenden. https://t.co/8rfQyo42xM Schauen Sie sich diese 12 nützlichen WordPress-Plugins für Seitenlayouts an. https://t.co/T57QUjEpu5 Weitere Informationen zu Liniendiagrammen finden Sie in Teil 2 unserer Serie zum Erstellen interaktiver Diagramme mit Plotly.js. https://t.co/nx51wOzSkF Holen Sie sich ein paar tolle Freebies mit unserem speziellen Angebot zum 10. Geburtstag, https://t.co/AcIGTiC2re In dieser neuesten Version unserer Serie zum Codieren einer Echtzeit-App mit NativeScript: Push-Benachrichtigungen. https://t.co/qESFVGVF4L Erste Schritte mit End-to-End-Tests in Angular mit Protractor. https://t.co/TWhQZe7ihE Erfahren Sie, wie Sie eine Aufgaben-API mit Node, Express und MongoDB erstellen. https://t.co/R4DvRYiM90 Was ist der Android-Aktivitätslebenszyklus? https://t.co/VUHsucaC1X Erfahren Sie alles über die objektorientierte Programmierung mit JavaScript. https://t.co/bI7ypANOx3 Viel Spaß mit den Funktionen dieser neuesten Serie in unserer Kotlin-Serie. https://t.co/r2f2TzA5lM So machen Sie Ihren JavaScript-Code mit Flow robust. https://t.co/rcdjybKL8L Erstellen Sie Ihre eigene Aufgaben-API mit Node und Restify. https://t.co/gQeTSZ6C5k Hier erfahren Sie, wie Sie Ihre View-Controller mit MVVM auf Diät setzen. https://t.co/oJqNungt1O Erfahren Sie, wie Sie Ihre neue iOS-App an den App Store übermitteln. https://t.co/JQwsKovcaI Dieses Handbuch ist der perfekte Ort, um Ihre Fähigkeiten zu erweitern und mit dem Schreiben von Plugins in Go zu beginnen. https://t.co/68X5lLSNHp Sehen Sie sich an, wie Sie Komponenten in Angular mit Jasmin testen. https://t.co/V5OTNZgDkR Lernen Sie, wie Sie in diesem tollen neuen Kurs Ihr erstes #WordPress-Plugin erstellen können. https://t.co/695C6U6D7V In dieser neuesten Version unserer Android-Architekturkomponenten-Serie: LiveData. https://t.co/gleDFbqeAi Tauchen Sie tief in das Go-Typ-System ein. https://t.co/AUM7ZyanRO Sehen Sie sich Serverlose Logik mit Realm-Funktionen an. https://t.co/aYhfeMgAZc Teil 4 von React-Crashkurs für Anfänger ist da! https://t.co/aG5NEa6yG9 Erfahren Sie mehr über Social Login und Firebase in dieser neuen Ergänzung der Serie. https://t.co/oL5z0krQD3 Das Erstellen einer Blogging-App mithilfe von React Teil 6 ist out! Tags https://t.co/OzUaPQEX8E Was ist GenServer und warum sollten Sie sich darum kümmern? https://t.co/EmQeTBggUK Schauen Sie sich Teil 3 des React-Crash-Kurses für Anfänger an. https://t.co/dflLCUqncO In dieser Ergänzung zu unserer Kotlin-Serie erfahren Sie mehr über Pakete und grundlegende Funktionen. https://t.co/JAo2ckSgZS
Um Follower abzurufen, verwenden wir die GetFriends ()
Methode.
Import twitter api = twitter.Api (consumer_key = "ftFL8G4yzQXUVzbUCdxGwKSjJ", consumer_secret = "KxGwBe6GlgSYyC7PioIVuZ5tFAsZs7q1rseEYCOnTDIjulT0mZ", access_token_key = "314.746.354-Ucq36TRDnfGAxpOVtnK1qZxMfRKzFHFhyRqzNpTx", access_token_secret = "7wZ1qHS0qycy0aNjoMDpKhcfzuLm6uAbhB2LilxZzST8w") user = "@TutsPlusCode" Freunde = api.GetFriends (screen_name = user) für Freunde in Freunden: print friend.name
Dave Herman Cyan Ta'eed Dropbox Stoyan Stefanov Der JavaScript-Ninja Dan Wellman Brenley Dueck von Dave Ward Packt Karl Swedberg Envato Tuts + Web Dev_Tips Vahid Ta'eed Jarel Remick Envato Dev. Team 🖥 Drew Douglass 📈 Cameron Moll SitePoint John Resig Chris Coyier Envato Tuts + Envato Tuts + Design Collis
Die API von Twitter kann in großem Umfang in der Datenanalyse verwendet werden. Es kann auch bei komplexen Big Data-Problemen und bei der Authentifizierung von Apps verwendet werden. Weitere Informationen zur Twitter-API finden Sie auf der Twitter-Entwicklerseite.
.