Einführung in die eBay -API mit Python The Finding API - Teil 2
- 2541
- 731
- Marleen Weight
Im vorherigen Artikel haben wir gesehen. In diesem neuen Kapitel werden wir unsere erste Anfrage erstellen und unseren ersten Anruf mit Schwerpunkt auf der „Finding -API“ ausführen
In diesem Tutorial lernen Sie:
- Was sind die möglichen Aufrufe von „Finden von API“?
- Mit welchen Parametern können Sie Ihren Anruf anpassen?
- Wie man eine Anfrage mit dem Python SDK erstellt;
- Wie man einen API -Anruf ausführt;
Softwareanforderungen und Konventionen verwendet
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Betriebssystem agnostisch. |
Software | Git und Python3 |
Andere | Kenntnis der Python -Programmiersprache und der grundlegenden objektorientierten Konzepte. |
Konventionen | # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können |
Der Finden API
Der Finden
API ist die erste, die wir in dieser Reihe von Artikeln über programmgestützte Interaktion mit eBay unter Verwendung von Python und dem eBay Python SDK untersuchen. Diese API enthält Anrufe, die sowohl für Käufer als auch für Verkäufer sehr nützlich sein können, und bietet uns Zugriff auf die Funktionen der Ebay -Plattform.
Die Finding -API -Aufrufe
Das Folgende sind meiner Meinung nach die relevantesten Anrufe von der Finden
API:
- FindItemSadvanced - Lassen Sie uns komplexe Abfragen ausführen und Filter anwenden
- FindItemsByCategory - Lassen Sie uns Artikel finden, die zu einer bestimmten Kategorie gehören
- FindItemsByKeywords - Mit diesem Anruf können wir Elemente basierend auf Schlüsselwörtern finden
- FindItemsByProduct - Mit diesem Anruf finden wir Elemente, die auf Kennungen wie ISBN, EAN, UPC und EPID basieren
Sie finden die vollständige Liste der verfügbaren Anrufe für die API finden
auf der dedizierten Seite.
In diesem Tutorial werden wir uns jedoch auf die konzentrieren FindItemsByKeywords
Forderung.
Bevor wir anfangen
Im vorherigen Artikel dieser Serie haben wir unsere Arbeitsumgebung eingerichtet. Von nun an gehe ich davon aus, dass Sie das eBay Python SDK korrekt installieren und Sie API -Schlüssel erstellt haben. Da arbeiten wir mit dem zusammen Finden
API, wir können direkt an der Produktionsseite arbeiten.
Beginnen wir dann. Als erstes erstellen wir ein Verzeichnis als Basis unseres Projekts; Wir werden es (überraschend) "eBay" nennen:
$ mkdir eBay
In diesem Verzeichnis müssen wir unsere Anmeldeinformationen in der speichern Ebay.Yaml
Datei, wie wir im vorherigen Artikel erläutert haben. Sie finden eine Vorlage dieser Datei im Stamm. Hier ist der Inhalt meiner Ebay.Yaml
Datei, in der ich bereits meine Anmeldeinformationen eingegeben habe:
API finden
, ist der App ID
Für unsere Produktionsumgebung. Unser erster API -Anruf
Standardmäßig akzeptiert eBay die API -Anfrage und wird in Form von angegeben xml
Strukturen: Was uns ermöglicht, auf objektorientierte Weise mit diesen Elementen zu interagieren, ist der Python SDK. Nachdem wir unsere Anmeldeinformationen vorhanden haben, können wir beginnen, unsere erste API -Anfrage zu erstellen. Erstellen Sie eine neue Datei und rufen Sie es an FindByKeywords.py
, Im Inneren müssen wir als erstes die erforderlichen Module importieren:
#!/usr/bin/env python3 aus eBaysdk.Importverbindung finden
Kopieren Das nächste, was Sie tun müssen, ist, eine Instanz der initialisieren Verbindung
Klasse, hier ist, wie wir es machen:
API = Verbindung (config_file = 'eBay.yaml ', sitId = "eBay-us")
Wir haben einige Parameter an den Konstruktor des Verbindung
Klasse: Konfigurationsdatei
, Und Webseitenadresse
. Der erste ist erforderlich, um den Pfad zur Datei mit unseren Anmeldeinformationen anzugeben: Da der Wert stand. Die zweiten Argumente, die erforderlich sind, um die eBay -Landesstelle anzugeben, auf die die Anfrage hingewiesen werden sollte: "EBay-us"
ist der Standard. Wenn ich beispielsweise meine Suche auf der italienischen Site durchführen wollte, hätte ich verwendet "EBay-it"
stattdessen. Viele andere Parameter können übergeben werden, um die Standardkonfiguration zu optimieren. Zu wissen, dass unser Setup ausreicht. Lassen Sie uns weiter fortfahren.
Wir haben unsere Instanz der initialisiert Verbindung
Klasse, jetzt müssen wir eine Anfrage erstellen, die in den API -Anruf aufgenommen wird. Dank des Python SDK können wir eine Anfrage mit a darstellen Wörterbuch
, Angabe seiner Parameter mit Schlüsselwertpaaren:
Request = 'Keywords': 'Herr der Ringe',,
Kopieren Das obige ist die minimal mögliche Anfrage für die FindItemsByKeywords
Rufen Sie an: Wir haben gerade die zu suchen der Schlüsselwörter angegeben. Das ist möglich, weil 'Schlüsselwörter'
ist der einzige erforderliche Parameter für diesen Anruf.
Abhängig vom Anruf, den wir ausführen möchten, können wir viele andere Parameter verwenden, um unsere Anfrage zu verfeinern. Um genau alle verfügbaren Anforderungsparameter für einen bestimmten Anruf zu kennen, können Sie die ziemlich detaillierte eBay -Dokumentation dafür konsultieren.
Einschränkung unserer Suche mit einem Filter
Wir können eine Liste von Filtern in unserer Anfrage angeben, damit die Anzahl der zurückgegebenen Ergebnisse reduziert wird. Innerhalb der Anfrage die Itemfilter
Der Schlüssel ist mit einem Array verbunden, das alle Filter enthält, von denen jede in Form eines Wörterbuchs ist, wobei die Name
Der Schlüssel ist einer Zeichenfolge zugeordnet, die den Filternamen darstellt, und der Wert
Man ist dem tatsächlichen Wert verbunden, der für den Filter verwendet werden sollte. Lassen Sie uns ein Beispiel sehen. Sagen Sie, wir möchten unserer Anfrage einen Filter hinzufügen, um unsere Suche nur auf „neue“ Elemente zu beschränken:
Request = 'Keywords': 'Herr der Ringe', 'itemFilter': ['Name': 'Zustand', 'Wert': 'neu']
Kopieren Im obigen Beispiel haben wir die verwendet Zustand
Filter, aber viele andere sind verfügbar. Zum Beispiel die Ausschluss
Filter ist nützlich, um spezifische Verkäufer von den Ergebnissen auszuschließen, während die Versandkostenfrei
eine, um die Suche nur auf Artikel zu beschränken, die mit kostenlosen Versand verkauft werden. Die Liste der Filter und deren möglichen Werte ist wirklich lang: Auch hier finden Sie alle, die die offizielle Dokumentation beraten.
Die Ergebnisse pagieren
Ein weiterer sehr nützlicher Parameter, den wir zu unserer Anfrage hinzufügen können, ist PaginationInput
. Durch die Verwendung können wir ein gewünschtes Paginierungsformat angeben. Innerhalb der Anfrage die PaginationInput
Der Schlüssel ist mit einem Wörterbuch verbunden, das selbst zwei Schlüssel enthält: Einträge
Und Seitennummer
.
Mit dem ersten können wir angeben, wie viele Ergebnisse wir „pro Seite“ erhalten möchten: nicht mehr als 100
Die Ergebnisse pro Seite werden unterstützt (dies ist auch der Standardwert), während das Minimum ist 1
. Mit dem zweiten Element, Seitennummer
, Wir können angeben, welche Seite wir in den Ergebnissen erhalten möchten.
Sagen Sie zum Beispiel, dass wir nicht mehr als 10 Ergebnisse pro Seite wollten und nur an der ersten Seite interessiert waren. Unsere Anfrage würde werden:
Request = 'Keywords': 'Herr der Ringe', 'itemFilter': ['name': 'condition', 'value': 'new'], 'paginationInput': 'EntrieSperPage: 10,', ' Pagenumber ': 1
Kopieren Eigentlich hätten wir weglassen können Seitennummer
, Da sein Standardwert immer „1“ ist.
Sortieren der Ergebnisse
Ein weiterer sehr nützlicher Parameter, den wir zu unserer Anfrage hinzufügen können, ist Sortierreihenfolge
. Mit diesem Parameter können wir eines der verfügbaren Sortierkriterien verwenden, um unsere Ergebnisse besser zu organisieren. Sagen Sie zum Beispiel, wir wollten unsere Ergebnisse nach Preis in aufsteigender Reihenfolge sortieren, um zuerst die günstigsten Artikel in den Ergebnissen enthalten zu haben:
Request = 'Keywords': 'Herr der Ringe', 'itemFilter': ['name': 'condition', 'value': 'new'], 'paginationInput': 'EntrieSperPage: 10,', ' Pagenumber ': 1,' Sorder ':' PricePlusshipPingLowest '
Kopieren In diesem Fall haben wir verwendet PREISPLUSHIPPINGLOWEST
Als Sortierreihenfolge werden die in den Ergebnissen enthaltenen Artikel nach dem Ergebnis der Summe ihres Preises und ihrer Versandgebühr in aufsteigender Reihenfolge sortiert. Genau wie Filter sind die verfügbaren Sortieraufträge zu viele, um hier gemeldet zu werden. Unter den anderen können wir benutzen Distanzenarest
oder Endtimesoonest
Die Ergebnisse nach Entfernung in aufsteigender Reihenfolge bzw. durch die engste Endzeit zu sortieren. Sie können alle möglichen Sortierkriterien finden, indem Sie diese Tabelle konsultieren.
Senden unserer Anfrage und erhalten Sie die Ergebnisse
Nachdem wir unsere Anfrage erstellt haben, müssen wir sie tatsächlich an eBay senden und die Ergebnisse erhalten. Um die erste Aufgabe zu erfüllen, verwenden wir die ausführen
Methode auf unserer API
Objekt, Angabe des Namens des Anrufs, den wir als erstes Argument verwenden möchten, und das Wörterbuch, das unsere Anfrage als zweites darstellt. Hier ist, was unser Drehbuch zu diesem Zeitpunkt in seiner Gesamtheit aussieht:
#!/usr/bin/env python3 aus eBaysdk.Importverbindung finden, wenn __name__ == '__main__': api = Verbindung (config_file = 'eBay.yaml ', debug = true, sitId = "eBay-us") request = ' keywords ':' lord of the rings ',' itemfilter ': [' name ':' condition ',' value ':' neu ' ], 'paginationInput': 'Entriederpage': 10, 'pageNumber': 1, 'Sorder': 'PricePlusshipPingLowest' response = api.Execute ('findItemsByKeywords', Anfrage)
Kopieren Unsere Ergebnisse werden zurückgegeben, und wir werden es mit dem verweisen Antwort
Variable. Wir möchten sie jetzt organisieren, damit wir für jedes Ergebnis den Titel und den Preis in einem schönen Format auf dem Bildschirm angezeigt haben können, können wir eine einfache Schleife hinzufügen, um dieses Ergebnis zu erzielen:
für Element als Antwort.Antwort.Suchergebnis.Artikel: Print (f "Titel: Artikel.Titel, Preis: Artikel.SellingStatus.derzeitiger Preis.Wert")
Kopieren Wenn wir jetzt versuchen, das Skript zu starten, erhalten wir die folgenden Ergebnisse:
Titel: Lord of the Rings Der One Ring lotr Edelstahl Mode Frauen Manring SZ12, Preis: 0.01 Titel: Herr der Ringe der einzige Ring LOTR Edelstahlmodische Frauen Frauen Ring SZ13, Preis: 0.01 Titel: Lord of the Rings Der einzige Ring LOTR Edelstahl Mode Männer Frauen Ring Größe 9, Preis: 0.01 Titel: Herr der Ringe der einzige Ring LOTR Edelstahlmodische Frauen Frauen Ring SZ13, Preis: 0.01 Titel: Herr der Ringe der einzige Ring LOTR Edelstahlmodische Frauen Frauen Ring SZ11, Preis: 0.01 Titel: Lord of the Rings Der einzige Ring Lotr Edelstahl Mode Männer Frauen Ring size 7, Preis: 0.01 Titel: Herr der Ringe der einzige Ring LOTR Edelstahlmodische Frauen Frauen Ring SZ12, Preis: 0.01 Titel: Lord of the Rings Der einzige Ring LOTR Edelstahl Mode Männer Frauen Ring Größe 9, Preis: 0.01 Titel: Herr der Ringe der einzige Ring LOTR Edelstahlmodische Frauen Frauen Ring Größe8, Preis: 0.01 Titel: Herr der Ringe der einzige Ring LOTR Edelstahlmodische Frauen Frauen Ring SZ13, Preis: 0.01
An diesem Punkt können Sie sich fragen: Wie kann ich die genaue Struktur der Ergebnisse kennen?? Es ist eine gute Frage, und Sie können eine Antwort haben, indem Sie das überprüfen xml
Darstellung der Ausgabe einer Anrufanforderung, die Sie in der eBay -Dokumentation dem spezifischen Anruf gewidmet sind. Sie können den finden FindItemsByKeywords
Durch die Folge dieses Links.
Schlussfolgerungen
Während wir im vorherigen Artikel darüber gesprochen haben, wie wir unsere Arbeitsumgebung einrichten, erhalten Sie unsere API -Schlüssel und installieren die Python SDK in diesem zweiten Teil unserer Artikelserie über eBay -APIs, die wir uns dem näherten, das API finden
, und wir haben eine einfache Anfrage mit dem erstellt FindItemsByKeywords
Forderung. Wir haben kurz gesehen.
Im nächsten Artikel werden wir unter den anderen Dingen unser Geschäft aufbauen und sehen, wie man das benutzt Handel
API zum Erstellen und Hochladen eines Elements dazu. Zusammenfassend ist hier eine Zusammenfassung der offiziellen Dokumentation, auf die wir in diesem Artikel verwiesen wurden:
- Dokumentation über die
FindItemsByKeywords
Forderung - Liste der verfügbaren Anforderungsfilter
- Liste der verfügbaren Sortieraufträge
- Liste der verfügbaren Anrufe für die
API finden
Inhaltsverzeichnis
- Teil 0
Einführung
- Teil I
Tasten erhalten und auf die Sandbox zugreifen
- TEIL II
Die Finding -API
- Teil III
Die Handels -API
- Teil IV
Die Merchandising -API
Verwandte Linux -Tutorials:
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Dinge zu installieren auf Ubuntu 20.04
- So erstellen Sie ein Flatpak -Paket
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- So richten Sie einen OpenVPN -Server auf Ubuntu 20 ein.04
- Mastering -Bash -Skriptschleifen beherrschen
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Wie man mit der Woocommerce -REST -API mit Python arbeitet
- GDB -Debugging -Tutorial für Anfänger
- So verwenden Sie ADB Android Debugg Bridge, um Ihr Android zu verwalten…
- « Einführung in das Lehre -ORM- und Data Mapper -Muster in PHP
- Einführung in die eBay -API mit Python The Merchandising API - Teil 4 »