So erstellen Sie einen benutzerdefinierten Crawler mit Colab und Advertools
Veröffentlicht: 2022-05-25In diesem Video werden wir darüber sprechen, wie wir mit Google Colab, Advertools und einigen anderen Python-Bibliotheken unseren eigenen benutzerdefinierten Crawler erstellen können. Bevor Sie Angst bekommen oder verrückt werden, tun Sie es nicht. Tief durchatmen. Es wird okay sein. Ich behaupte nicht einmal, ein Programmierer zu sein, aber was ich ziemlich gut kann, ist das Kopieren und Einfügen. Ich weiß, dass Sie diese Strg+C-Taste genauso gut verwenden können wie ich. Werfen wir einen Blick darauf, wie wir unseren eigenen benutzerdefinierten SEO-Crawler erstellen und wie wir ihn einsetzen können, um uns bei der Lösung einiger einzigartiger Probleme zu helfen.
Ressourcen
- Erhalten Sie hier Zugang zum Colab.
- Erfahren Sie hier mehr über Advertools.
Video-Transkript:
Schauen wir uns an, wie wir einen benutzerdefinierten Crawler mit Google Colab sowie Advertools und der Python-Bibliothek erstellen können.
Was ist ein SEO-Crawler (Spider)?
Crawler sind Tools, die Website-Seiten ähnlich wie eine Suchmaschine crawlen können, und sie helfen uns dabei, wertvolle SEO-Informationen zu erhalten. Es hilft uns, die Website so zu sehen, wie Google, Bing oder die anderen Suchmaschinen unsere Website sehen würden. Es gibt Tools, die dies tun. Es gibt eine Reihe von Tools, die dies tun, das beliebteste ist wahrscheinlich der Screaming Frog SEO Spider, und es ist ein Tool, das wir lieben und ständig verwenden, aber manchmal brauchen wir eine benutzerdefinierte Lösung.
Warum sollten Sie Ihren eigenen Crawler erstellen?
Die meisten Crawler von der Stange leisten Erstaunliches, aber manchmal haben Sie eine bestimmte Frage, die beantwortet werden muss, und Sie können einen benutzerdefinierten Crawler erstellen, um alle Ausgaben zu steuern. Sie bekommen nur die Daten, die Sie wollen oder brauchen. Auf diese Weise müssen Sie nicht durch ein Tool-Setup eingeschränkt werden, sondern können eine Website schnell durchsuchen oder nur eine Information abrufen oder eine ganze Menge Informationen abrufen und auf andere Weise organisieren, indem Sie Colab und verwenden Python.
Was ist Advertools?
Advertools ist eine Python-Bibliothek, mit der Sie viele Dinge tun können. Sie können Websites crawlen, Schlüsselwörter für Ihre Suchmaschinenmarketing-Kampagnen generieren, Textanzeigen erstellen, SERPs analysieren, Einblicke in Social-Media-Beiträge gewinnen und vieles mehr. Es ist eine äußerst flexible Bibliothek. Es macht viele coole Dinge und ist ziemlich einfach zu bedienen.
Ich würde mich nicht als Programmierer bezeichnen. Ich würde nur sagen, ich bin anständig im Kopieren und Einfügen. Obwohl ich kein tiefergehender Python-Programmierer bin, konnte ich viele Vorteile aus der Verwendung eines Tools wie Advertools ziehen.
Was wir tun werden
Das werden wir in diesem Video tun.
- Erstellen Sie eine neue Colab-Datei und installieren Sie Advertools
- Erstellen Sie mit advertools einen benutzerdefinierten Crawler
- Crawlen und analysieren Sie die Website und die Daten
- Visualisieren Sie einige dieser Ergebnisse mit einer anderen Python-Bibliothek namens Plotly
- Exportieren Sie die Daten
Schritt 1: Erstellen Sie eine Colab-Datei und installieren Sie Advertools
Google Colab ist ein Tool, mit dem Sie eine Reihe cooler Dinge tun können. Es ermöglicht Ihnen, Code in Zellen auszuführen, um Tabellen zu erstellen, eigene Programme zu erstellen, benutzerdefinierte Dinge zu tun, alles von maschinellem Lernen bis SEO und mehr. Wenn Sie es noch nie zuvor verwendet haben, können Sie es kostenlos verwenden und die Rechenleistung von Google kostenlos nutzen. Es ist sehr cool, also empfehle ich Ihnen dringend, sich das anzusehen.
Wenn Sie CoLab noch nicht verwenden, finden Sie hier viele großartige Ressourcen. Eines der Dinge, die Sie tun müssen, um eine Bibliothek außerhalb von Python zu verwenden, ist die natürliche Installation. Sie müssen dieses Programm installieren. Meistens verwenden Sie eine Funktion namens PIP und ziehen dann diese neue Bibliothek ein. Es ist ein ziemlich einfacher Prozess zu verwenden.
Eines der Dinge, die all diese Leute tun, die diese Programme erstellen, ist, dass sie Ihnen genau zeigen, wie Sie es in ihren Dokumenten einrichten. Lesen Sie also immer diese Dokumente, damit Sie verstehen: "Wie importiere ich diese Tools und bringe diese Tools dazu, für mich selbst zu arbeiten?"
Um Advertools zu installieren, verwenden wir diese Codezeile hier:
!pip install advertools
Sobald Sie den Code hier in den Zellenblock in CoLab eingefügt haben, fahren Sie fort und drücken Sie die Play-Taste. Es wird diesen Codeblock ausführen. Sie sollten so etwas sehen, wo der Code und das gesamte Paket hier installiert werden, damit wir diese Bibliothek jetzt zum Erstellen unseres Crawlers verwenden können. Sobald Sie das grüne Häkchen sehen, wissen Sie, dass es fertig ist.
Schritt 2: Erstellen Sie einen benutzerdefinierten Crawler mit Advertools
Als nächstes wollen wir eine neue Codezeile ausführen.
import advertools as adv
from advertools import crawl
import pandas as pd
Sie können fortfahren und hier auf die Code-Schaltfläche klicken, und diese neue wird ausgefüllt. Wir werden einige spezifische Teile der Advertools-Bibliothek importieren. Wir importieren Advertools, wir importieren die Crawl-Methode. Wir importieren auch etwas namens Pandas. Für diejenigen unter Ihnen, die mit Python nicht vertraut sind: Pandas ermöglichen es uns, mit unseren Daten innerhalb von Datenrahmen zu arbeiten, indem wir im Grunde Tabellen in Python erstellen.
Sobald Sie dies alles eingerichtet haben, fahren Sie fort und führen Ihren Code erneut aus. Dadurch werden alle diese Informationen importiert. Wenn wir einen Crawl erstellen, werden Sie hier drüben bemerken, dass es darum geht, wie wir das machen können, wie wir diese Crawls importieren können. Es gibt einige Ansätze; Sie können Advertools wie wir importieren und diese Befehlszeile ausführen, die das tut, was wir tun.
Ich mache Colab gerne etwas benutzerfreundlicher, falls jemand in meinem Team es ebenfalls nutzen möchte. Wir werden etwas ein bisschen anders machen als das, was sie hier zeigen. Aber wenn Sie diesem Ansatz folgen, werden Sie es richtig machen und es wird auch funktionieren.
site = "https://simplifiedsearch.net/" #@param {type:"string"}
crawl(site, 'simp.jl' , follow_links= True )
crawl_df = pd.read_json( 'simp.jl' , lines= True )
crawl_df.head()
Was wir tun werden, ist diese Codezeile. Als erstes definieren wir eine Variable und die Variable wird die Website sein, die wir crawlen möchten. Durch die Verwendung dieses Param-Typ-Strings gibt es mir hier drüben ein Feld, in dem ich dann hier drüben eingeben kann, welche Website ich crawlen möchte. Ich kann meine Website hier einstellen. Ich kann jede Website hier platzieren und diese Variable wird für mich festgelegt. Auf diese Weise muss ich es hier nicht eingeben. Ich kann es einfach in ein Formular eingeben, und jemand, der sich nicht so wohl damit fühlt, in das Zellenfeld zu klicken, könnte einfach hierher gehen und eine Seite nach außen tippen.
In diesem Fall verwenden wir unsere vereinfachte Suchseite, nur weil wir sie ständig verwenden würden. Wir werden fortfahren und es hier einfügen. Direkt darunter befolgen wir genau dieselben Regeln, die sie hier festgelegt haben. Wir verwenden Advertools.crawl und dann die Website als unsere Variable. Wir haben eine Ausgabedatei. Dann möchten wir, dass es den Links innerhalb der Website folgt.
Wir führen auch den nächsten Schritt aus, in dem wir den Crawl-Datenrahmen festlegen, und wir weisen ihn an, unsere Ausgabedatei zu öffnen, da sie in JSON ausgegeben wird. Die Pandas werden den JSON lesen und einen Datenrahmen für uns erstellen. Am Ende sage ich uns, dass wir nur den Kopf dieses Datenrahmens zeigen sollen, um sicherzustellen, dass alles wie beabsichtigt funktioniert. Sobald wir diesem Schritt folgen und diese Zelle ausführen, werden wir die Website crawlen und sie wird unten einen Daten-Dump erstellen und wir werden in der Lage sein, alle verschiedenen Funktionen innerhalb dieses Crawls zu sehen.
Ich werde weitermachen und diese Zelle leiten. Es kann einige Minuten dauern, nur weil die gesamte Website gecrawlt wird. Sobald wir fertig sind, werden wir darüber sprechen, wie wir die Crawling-Daten nutzen können, um bestimmte Informationen herauszuziehen.
Schritt 3: Website und Daten crawlen und analysieren
Jetzt wurde die Website gecrawlt und Sie können sehen, dass ich eine Liste mit URLs, Titeln, Meta-Beschreibungen, Standpunkt, Zeichensatz, H1s, H2s und H3s habe. Alle diese Informationen werden in diesen Rahmen gezogen. Wenn Sie es etwas sauberer sehen möchten, können Sie genau hier auf diese magische Schaltfläche klicken, und Google überträgt diese Daten hier in einen etwas einfacheren Datenrahmen, mit dem Sie arbeiten können. Ich habe hier insgesamt 266 Spalten. Das sind viele Spalten, mit denen ich arbeiten kann.
Sie fragen sich vielleicht, was in all diesen Spalten steht. Wir können hierher zurück zu den Advertools gehen und Sie können all die verschiedenen Elemente sehen. Es gibt ziemlich viele Exportdaten, die wir uns ansehen und viele coole Informationen abrufen können.
Wenn wir eine Liste aller verfügbaren Spalten sehen möchten, können wir diesen Code ausführen:
columns = list (crawl_df)
columns
Wir müssen zuerst die Spalten nehmen und daraus eine Liste erstellen. Wir verwenden die Codeliste und setzen dann Klammern und in ihr crawl_DF, das der Name unseres Datenrahmens ist, und nennen die neuen Listenspalten. Hier haben wir Spalten, und wir führen diese Zelle aus, und Sie können all diese verschiedenen möglichen Spalten sehen. Es ist ziemlich viel Information, wie Sie sehen können, es sucht nach einer ganzen Menge Information.

Was ist, wenn Sie nur einen Teil dieser Informationen sehen möchten? Was ist, wenn Sie nur alle Titel oder alle Meta-Beschreibungen oder einige der H-Tag-Informationen abrufen möchten, oder vielleicht möchten Sie alle Seiten und die Art des schema.org-Markups sehen, die Sie möglicherweise darauf haben? Hier ist es praktisch, so etwas wie Advertools zu haben.
Angenommen, wir wollten uns die JSON-LD-Typen auf unseren Seiten ansehen.
json_df = crawl_df[[ 'url' , 'jsonld_@type' ]]
json_df
Wir können mit einem neuen Code beginnen. Lassen Sie uns fortfahren und einen neuen Datenrahmen namens JSON-DF erstellen. Wir möchten einige Informationen aus unserem ursprünglichen Datenrahmen erhalten. Das erste, was wir tun wollen, lass mich ein bisschen hierher gehen, um es für alle einfacher zu machen, _DF. Wir werden eine Klammer und eine andere Klammer verwenden.
Das erste, was wir ziehen möchten, ist die URL. Wir wissen, dass die URL wichtig ist, weil wir alle Seiten unserer Website kennen müssen, alle URLs. Als nächstes wollen wir den JSON-Typ finden. Wir können zu dieser Liste zurückkehren und den JSON-Typ eingeben, das kopieren und sagen, ich möchte auch den JSON-Typ wissen. Ich werde fortfahren und dies konsistent halten, damit wir den Best Practices folgen. Was machen wir in dieser kleinen Zeile hier? Wir sagten „neuen Datenrahmen erstellen“ und verwenden die Daten aus unserer ursprünglichen Datenbank, aus unserem ursprünglichen Datenrahmen und ziehen nur die URLs und die JSON-LD-Typen zurück.
Wenn ich dies ausführe, wird ein neuer Datenrahmen mit genau diesen Informationen erstellt. Um diese Daten zu sehen, kann ich einfach fortfahren, JSON_DF einfügen, eine neue Zelle erstellen und die Eingabetaste drücken. Es gibt mir eine Liste aller meiner Seiten und den Markup-Typ, der mit diesen spezifischen Seiten verknüpft ist. Dies kann sehr hilfreich sein, wenn Sie schnell suchen und alle JSON-Dateien auf Ihrer Website finden möchten, welche Typen Sie haben und welches Markup Sie haben.
Haben Sie außerdem einige Seiten, denen das Markup fehlt? Diese können Sie schnell identifizieren. Wir haben diese neuen Daten, wo wir alle unsere URLs haben, und wir haben alle unsere JSON-LD-Typen, von denen wir wissen, dass sie auf dieser Seite existieren.
Schritt 4: Visualisieren Sie die Ergebnisse
Nehmen wir an, wir möchten einen schnellen Bericht oder eine Grafik erstellen, um sie entweder einem Kunden oder jemand anderem zu zeigen, oder die Menge an Informationen und Daten, die wir dieser Website für sie hinzugefügt haben, und die verschiedenen Arten davon.
Das erste, was ich tun muss, ist, alle verschiedenen Arten von Markups zu zählen, die hinzugefügt wurden, und dann kann ich es visualisieren. Beginnen wir damit, dies zu zählen und einen neuen Datenrahmen zu erstellen. Ich habe diesen Code bereits erstellt und werde Sie durch ihn führen:
json_counts = json_df[ 'jsonld_@type' ].value_counts()
json_counts = json_counts.reset_index()
json_counts
Es heißt JSON-Zählungen. Dies ist ein neuer Datenrahmen. Wir nehmen hier die Daten aus der JSON-LD-Spalte. Wir lassen die eindeutigen Werte in dieser Spalte zählen. Wenn ich diesen Code ausführe und ihm dann sage, dass er ihn ausgeben soll, werden Sie sehen, dass wir alle diese Informationen gezählt haben.
Was es tut, ist, dass es mir diesen Fehler gibt, weil es einige Nullen oder einige NAS in der Liste findet. Das ist in Ordnung, denn Sie werden gleich sehen, dass wir diese Informationen hier haben. Hier sind all die verschiedenen Markup-Typen und alles wurde für uns ausgelegt.
Sie bemerken aber auch, dass es nicht ganz wie ein Datenrahmen aussieht, wie er hier ist. Wir müssen diesen Datenrahmen oder diese Variable in einen Datenrahmen neu indizieren, damit er richtig funktioniert. Wir gehen weiter und geben unseren Datenrahmen und führen diesen Code aus:
json_counts = json_counts.reset_index()
Wenn wir dies ausführen, sehen Sie, dass wir einen Datenrahmen haben. Wir haben den Index, das ist der Begriff. Dann haben wir den JSON-LD-Typ und die Anzahl davon. Wir haben immer noch keine Grafik. Wir haben immer noch nur einen anderen Datenrahmen. Was müssen wir tun, um diesen Datenrahmen in eine Visualisierung oder ein Diagramm umzuwandeln? Wir werden etwas namens Plotly verwenden.
Plotly ist eine weitere Bibliothek, die Advertools sehr ähnlich ist und mit der wir Visualisierungen erstellen können, und insbesondere werden wir Plotly Express verwenden. Das erste, was wir tun müssen, ist Plotly zu installieren, wir machen weiter und machen PIPinstallPlotly, ich werde diese Zelle ausführen. Es wurde bereits in diesem Arbeitsblatt installiert, aber es ist in Ordnung. Wie Sie sehen können, wird uns mitgeteilt, dass es bereits installiert und bereits zufrieden ist. Wir können loslegen.
Nehmen Sie den Code, den wir gerade von hier kopiert haben, und fügen Sie ihn wieder in unseren Crawler ein. Wir brauchen diesen mittleren nicht, da es sich um Daten handelt, die wir nicht verwenden. Wir verwenden unsere eigenen Daten. Wir müssen Plotly Express als PX importieren und unsere neue Datenbank hier verbinden, um die richtigen Informationen in unser Diagramm zu bekommen.
! pip install plotly
import plotly.express as px
fig = px.bar(json_counts, x='index', y='jsonld_@type')
fig.show()
Unser Datenrahmen hieß JSON counts. Auf unserem X verwenden wir den Index und auf dem Y den JSON-Typ. Warum habe ich diese gewählt? Der Index ist, wo die Wörter sind. Wir wollen diese auf dem X haben, und dann ist die Zählung auf JSON-LD @type, und das wird unser Y sein, das uns sagen wird, wie viele in jeder dieser Spalten sind. Wir machen weiter und stellen das hier ein. Ziemlich einfach. Und dann zeigt fig.show diesen Graphen. Jetzt haben wir also alle unsere verschiedenen Typen hier unten, und hier haben wir die verschiedenen Mengen jedes Typs in einem schönen Diagramm.
Wenn Sie dies teilen möchten, können Sie es als PNG herunterladen, und Plotly lädt es jetzt auf Ihren Computer herunter. Sie können das nehmen und sagen: "Wir haben so viel Mark auf diese vielen Seiten gesetzt." Eine ziemlich coole Art, es schnell zu visualisieren.
Schritt 5: Exportieren Sie die Daten
Was aber, wenn wir all diese Daten herunterladen und damit arbeiten möchten, vielleicht in Google Sheets oder etwas anderem? Nun, Sie können das auch tun, um das zu tun. Wir müssen nur noch eine Codezeile verwenden und es sollte losgehen. Nehmen wir also an, wir laden diese Tabelle hier mit all unseren Website-Seiten und dem JSON-LD-Typ herunter. Wir können zu dieser Zelle oder zu irgendjemand weitergehen, den Sie möchten, und dann werden wir eine neue Codezeile erstellen.
Wir müssen etwas von Google Colab verwenden, das als Importdateien bezeichnet wird. Das ist das erste, was wir tun werden. Als Nächstes suchen wir diesen Datenrahmen, der JSON-DF ist. Wir werden dies unten hinzufügen und .2_CSV sagen, und dann werden wir ihm einen Namen geben. Wir können dies JSON_DF.CSV nennen. Nachdem Sie diesen Code eingegeben haben, haben Sie Ihre CSV-Datei erstellt. Wenn ich hier in meinen Ordner schaue, sehen Sie die Datei genau hier.
Von hier aus könnte ich einfach weitermachen und es herunterladen, oder ich könnte hier eine Codezeile einfügen, die uns hilft, es noch schneller herunterzuladen. Ich könnte files.download sagen, und dann gehe ich weiter und nenne diese Datei, die ich gerade erstellt habe, und ich bat Colab, sie direkt für mich herunterzuladen. Wenn ich diese Zelle ausführe, wird diese Datei heruntergeladen und hier habe ich sie. Ich kann weitermachen, auf Öffnen klicken und jetzt habe ich diese CSV-Datei, die ich mit jedem beliebigen Tabellenkalkulationstool machen kann, was ich will. Ich kann auch diejenigen sehen, denen möglicherweise ein Markup fehlt.
Hier hast du es. Wir sind vorangegangen und haben unseren eigenen benutzerdefinierten Crawler erstellt. Wir haben einige benutzerdefinierte Daten gezogen. Wir haben diese Daten visualisiert und wir haben diese Daten zur Verwendung in anderen Programmen heruntergeladen. Wir haben das alles gemacht, und ich bin kein Computerprogrammierer, ich versuche nicht einmal, so zu tun, als wäre ich einer. Wie ich schon sagte, ich bin einfach gut im Kopieren und Einfügen. Sie können diese Dinge auch herausfinden.
Bei Fragen gibt es immer coole Lösungen. Wenn Sie bereit sind, etwas Neues und Anderes auszuprobieren, empfehle ich Ihnen dringend, in Colab herumzuspielen. Es gibt viele großartige Ressourcen da draußen. Es gibt viele Leute, die viel schlauer sind als ich, die viel erstaunlichere Dinge tun, von denen ich eine Menge gelernt habe, und die mir bei meinem Marketingspiel, meiner Recherche, meinem Crawling und vielem mehr geholfen haben.
Wenn Sie Fragen zu dem haben, was wir heute getan haben, kommentieren Sie bitte unten. Ich werde auch Zugriff auf diese spezielle CoLab-Datei gewähren und sogar Schritt für Schritt den Code teilen, den wir dabei verwendet haben. Vielen Dank fürs Zuschauen. Vergiss nicht zu abonnieren und bis zum nächsten Mal, frohes Marketing.