Tech News

Technik & Digital

Abrufen von SEO-Daten von der Rank Ranger-API mit Python


Abrufen von SEO-Daten von der Rank Ranger-API mit Python

APIs können für SEO-Profis oft ziemlich einschüchternd sein, insbesondere für diejenigen, die eher an die Arbeit mit Microsoft Excel gewöhnt sind. Während Rank Ranger eine leicht verständliche Dokumentation bietet, habe ich diese Anleitung geschrieben, um Ihnen den Python-Code zur Verfügung zu stellen, damit Sie den Code buchstäblich kopieren und einfügen können, um sofort loszulegen.

Die Rank Ranger-API bietet viele Funktionen von zwei Haupt-APIs:

  • Berichterstellung: Verwalten und Extrahieren von Daten zu Kunden, die Sie in Ihrem Rank Ranger-Konto verfolgen
  • Suche: Wettbewerbsinformationen wie die SERPs mit Funktionen

Wir konzentrieren uns darauf, Daten zu erhalten über:

  • Paket-ID-Nummer (erforderlich, um Daten vom Rest der API zu erhalten)
  • Kampagnen, die Sie ausführen
  • Keywords (innerhalb einer Kampagne)
  • Rankings (für Ihre Keywords)

Sie werden feststellen, dass es in jedem Abschnitt einige Schritte gibt, die wir erklären, um Ihnen zu helfen, zu verstehen, was der Python-Code tut, damit Sie unterwegs ein wenig Python lernen können, während Sie die Mini-Hürden schätzen, die es zu überwinden gilt, um Ihre Daten zu erhalten!

Vorläufe

Sie können davon ausgehen, dass der gesamte Python-Code in einem Jupyter-Notebook lokal auf Ihrem Computer ausgeführt wird, der Code sollte jedoch auch in Google Colab-Notebooks ausgeführt werden.

Wir beginnen mit dem Importieren unserer Bibliotheken:

Sie benötigen Ihr API-Token, das unter Einstellungen > API & verbundene Apps generiert wird, um das fiktive API-Token unten zu ersetzen:

api_token = ‚12345-x1234abcd12345abcdefg0xyz1h2a3seo‘

Paket-ID-Nummer

Sobald die Python-Bibliothekspakete importiert und die API-Token-Variable festgelegt sind, können wir mit der Verwendung der API beginnen:

Zuerst bauen wir und machen die Anfrage, deren Ergebnis in einem Objekt namens ‚r‘ gespeichert wird. Die Anfrage „r“ ist die von uns aufgerufene API-URL, die die API-URL, den API-Endpunkt „packages“ (gelb hervorgehoben), den API-Schlüssel und die Ausgabe enthält, die auf json gesetzt ist:

Wir geben ‚r‘ aus, damit wir sehen können, ob der API-Aufruf eine Verbindung herstellen konnte (oder nicht):

drucken

Unten erhalten wir eine 200-Antwort, was ein gutes Zeichen ist:

Jetzt wollen wir den Inhalt der API-Antwort entpacken, indem wir das ‚.text‘-Attribut von ‚r‘ in Kombination mit der pandas (pd) read_json()-Funktion verwenden. Dies wird in einer neuen Variablen namens ‚packages_output‘ gespeichert:

Packages_output = pd.read_json(r.text)

Um die json-Ausgabe parsbar zu machen, konvertieren wir sie mit der Funktion to_list() in eine Liste:

Paketliste = Paketausgabe[‚packages‘].auflisten()

Mit print können wir sehen, wie es aussieht:

print(packages_list)

Die Beispielausgabe ist unten mit hervorgehobener Paket-ID-Nummer dargestellt:


Kampagnen

Sobald Sie Ihre Paket-ID haben, die im obigen Beispiel als „87321“ ausgedruckt wird, können Sie sehen, aus welchen Kampagnen Sie Daten extrahieren müssen. Wir beginnen damit, die Variable packages_id zu setzen:

Paket_ID = ‚87321‘

Dann erstellen wir die Anfrage, diesmal mit dem Endpunkt „package_campaigns“:

Wie zuvor werden wir die API-Antwort mit read_json entpacken, in eine Liste konvertieren und die Ergebnisse drucken:

Wieder haben wir eine fiktive Liste, um zu demonstrieren, wie die Ausgabe aussehen würde:

Beachten Sie, dass die Ausgabe alle Kampagnen nach Kampagnen-ID, Name, Domäne und gezielter Suchmaschine auflistet.


Schlüsselwörter

Rufen wir die Keywords aus der Slate Safety-Kampagne ab, die den API-Endpunkt get_campaign_info und die unten festgelegte gewünschte Kampagnen-ID verwendet:

An der keywords_output sehen Sie, dass Sie alle möglichen Informationen erhalten, wie z. B. die Domain, die Anzahl der Keywords, die Keywords selbst, die Domain, die Suchmaschine usw.:

As usual, we’ll convert the output to a list:

keywords_list = keywords_output[‚result‘].auflisten()

Um dann die Schlüsselwörter zu erhalten, brauchen wir einfach das 6. Element der Liste, indem wir ‚5‘ übergeben. Der Grund, warum wir 5 und nicht 6 übergeben, ist, dass Python eine nullbasierte Indizierung verwendet, bei der 0 als erste Position in jeder Liste gezählt wird:

print(keywords_list[5])

Die unten gezeigte Ausgabe enthält nicht nur die Schlüsselwörter, sondern auch alle ihnen zugewiesenen Tags. Beachten Sie, dass das 6. Element der Liste ein Wörterbuch ist, das eine der Möglichkeiten ist, wie Python Daten speichert. In diesem Fall ist der Wörterbuchschlüssel „Schlüsselwort“ und der Wert ist eine Liste von Wörterbüchern (eines pro Schlüsselwort):


Ranglisten

Glücklicherweise brauchen Sie die Schlüsselwörter nicht, um Ihre Rankings zu erhalten. Im Gegensatz zu anderen Rank-Tracker-APIs, mit denen ich gearbeitet habe (von denen ihre Schande verschont bleiben soll, indem sie namenlos bleiben!), erfordert die Rank-Ranger-API nur Folgendes:


  • Kampagnen-ID

  • Datum

  • Domain

  • Suchmaschinen-ID

Mit dem Parameter include_best_rank können Sie sogar anfordern, ob Sie alle Rangdaten pro Keyword oder den höchsten Rang pro Keyword wünschen. Lassen Sie uns die Keyword-Rank-Daten mithilfe der obigen Anweisungen abrufen, um die API-Anforderung mithilfe des API-Endpunkts rank_stats zu erstellen.

Stellen Sie zunächst die Parameter ein:

Erstellen und stellen Sie die API-Anforderung, bevor Sie sie in eine Liste konvertieren:

Und hier ist das Ergebnis, dessen Rangdaten für die ersten 4 Keywords angezeigt werden:

Beachten Sie, dass die URL-Daten eigentlich die Domain sind und dass „lp“ (vermutlich Zielseite) die Ranking-URL ohne den Domain-Anteil ist. Sie müssen sowohl die URL- als auch die LP-Wörterbuchschlüssel kombinieren, um die Ranking-URL zu erstellen, was wir später im Code tun werden.

Offensichtlich ist das Format der Rangdaten für uns nicht sehr nützlich, wenn wir einen Bericht in Excel exportieren und erstellen oder einfach nur die Daten ansehen möchten. Also werden wir das obige Wörterbuch durchlaufen, um einen Datenrahmen zu erstellen. Ein Datenrahmen ist Pythons Version einer Datentabelle, die dem ähnelt, was Sie in einer Tabellenkalkulation sehen würden, dh Zeilen und Spalten.

Zuerst erstellen wir einen leeren Datenrahmen namens rankings_df, in dem alle Daten gespeichert werden:

rankings_df = pd.DataFrame(columns=[‚keyword‘])

Legen Sie eine leere Liste namens rows_list fest, die alle Datenzeilen als Liste enthält:

rows_list = []

Wir werden dann das rankings_list-Wörterbuch (Auszug oben gedruckt) durcharbeiten, um die Daten für einen eventuellen Datenrahmen in eine Liste einzufügen. Die URL ist eine Kombination aus URL und Zielseite. Eine for-Schleife ist eine nützliche Codierungstechnik, um das Wiederholen von Codezeilen zu vermeiden, die in diesem Fall funktioniert, indem sie jedes Element von rankings_list durchgeht, Python angibt, welche Spalte die Daten speichern soll, und dann das Ergebnis zu rows_list hinzufügt:

Sobald die for-Schleife beendet ist (d. h. der obige Codeblock), wird rows_list an die Pandas DataFrame-Funktion übergeben, um rankings_df, unsere Rangdatentabelle, zu erstellen:

rankings_df= pd.DataFrame(rows_list)

Der URL-Slug ist in geschweifte Klammern eingeschlossen, die wir ersetzen möchten:

Rankings_df[‚url‘] = Rankings_df[‚url‘].str.replace(‚{‚, “)

Rankings_df[‚url‘] = Rankings_df[‚url‘].str.replace(‚}‘, “)

Die Rangspalte gibt auch ‚-‚ für Keywords zurück, für die Ihre Website keinen Rang hat. Die beste Antwort wäre, dies durch eine ‚100‘ zu ersetzen und den Spaltentyp wie unten gezeigt in numerisch umzuwandeln:

Rankings_df[‚rank‘] = Rankings_df[‚rank‘].str.replace(‚-‚, ‚100‘)

Rankings_df[‚rank‘] = Rankings_df[‚rank‘].astype(float)

So drucken Sie den Datenrahmen:

Rankings_df

Jetzt haben wir einen Datenrahmen, der mit der Pandas-Funktion to_csv() im CSV-Format exportiert werden kann:

rankings_df.to_csv(‚Ihr_Dateiname.csv‘)


Es weiter bringen

Wenn Sie es bis hierher geschafft haben (ohne zu überfliegen), herzlichen Glückwunsch! Wir haben die Grundlagen der Verwendung von Python zur Verwendung der RankRanger-API behandelt, die Ihnen helfen kann:


  • Erstellen Sie benutzerdefinierte Berichts-Dashboards

  • Extrahieren Sie Daten in großem Maßstab für Ihre SEO-Forschung

Wie bereits erwähnt, verfügt Rank Ranger über Insight-APIs, die Ihnen so viel über die Suchabsicht einer Suchanfrage verraten können, die wir im nächsten Artikel behandeln werden.

Entdecken Sie, wie Rank Ranger Ihr Geschäft verbessern kann

Alle Daten in Insights, die Sie benötigen, um die SERPs zu dominieren




Source link