Python

Verwenden der Google Search API mit Python

Verwenden der Google Search API mit Python
Es ist keine Neuigkeit, dass Google die größte Suchmaschine der Welt ist. Viele Leute gehen die Extrameile, um ihre Inhalte bei Google vor allen anderen Suchmaschinen zu platzieren highly. Aus diesem Grund bietet Google viele qualitativ hochwertige Ergebnisse für jede Suche und mit großartigen Ranking-Algorithmen können Sie erwarten, die besten Suchergebnisse bei Google zu erhalten.

Das hat eine Auswirkung. Dies impliziert, dass es viele nützliche Daten bei Google gibt und dass diese goldenen Daten abgekratzt werden müssen. Die geschabten Daten können für eine qualitativ hochwertige Datenanalyse und die Entdeckung wunderbarer Erkenntnisse verwendet werden. Es kann auch wichtig sein, in einem Versuch großartige Forschungsinformationen zu erhalten.

Apropos Scraping, dies kann mit Tools von Drittanbietern erfolgen. Dies kann auch mit einer Python-Bibliothek namens Scrapy . erfolgen. Scrapy wird als eines der besten Scraping-Tools eingestuft und kann zum Scrapen fast jeder Webseite verwendet werden. Weitere Informationen finden Sie in der Scrapy-Bibliothek.

Unabhängig von den Stärken dieser wunderbaren Bibliothek. Das Scrapen von Daten bei Google könnte eine schwierige Aufgabe sein. Google geht bei allen Web-Scraping-Versuchen hart vor und stellt sicher, dass Scraping-Skripte nicht einmal so viele 10 Scrape-Anfragen in einer Stunde stellen, bevor die IP-Adresse gesperrt wird.  Dadurch werden Drittanbieter- und persönliche Web-Scraping-Skripte nutzlos.

Google bietet die Möglichkeit, Informationen abzukratzen. Das Scraping muss jedoch über eine Application Programming Interface (API) erfolgen.

Nur für den Fall, dass Sie noch nicht wissen, was ein Application Programming Interface ist, brauchen Sie sich keine Sorgen zu machen, da ich eine kurze Erklärung gebe. Per Definition ist eine API eine Reihe von Funktionen und Prozeduren, die die Erstellung von Anwendungen ermöglichen, die auf die Funktionen oder Daten eines Betriebssystems, einer Anwendung oder eines anderen Dienstes zugreifen. Grundsätzlich können Sie mit einer API auf das Endergebnis von Prozessen zugreifen, ohne an diesen Prozessen beteiligt sein zu müssen. Eine Temperatur-API würde Ihnen zum Beispiel die Celsius/Fahrenheit-Werte eines Ortes liefern, ohne dass Sie mit einem Thermometer dorthin gehen müssen, um die Messungen selbst durchzuführen.

Wenn wir dies in den Umfang des Scrapings von Informationen von Google einbringen, ermöglicht uns die API, die wir verwenden würden, auf die benötigten Informationen zuzugreifen, ohne ein Skript schreiben zu müssen, um die Ergebnisseite einer Google-Suche zu Scrapen. Über die API können wir einfach auf das Endergebnis zugreifen (nachdem Google das „Scraping“ am Ende durchgeführt hat), ohne Code zum Scrapen von Webseiten zu schreiben.

Obwohl Google viele APIs für verschiedene Zwecke hat, verwenden wir in diesem Artikel die JSON-API für die benutzerdefinierte Suche. Weitere Informationen zu dieser API finden Sie hier.

Mit dieser API können wir 100 Suchanfragen pro Tag kostenlos durchführen, wobei Preispläne verfügbar sind, um bei Bedarf weitere Suchanfragen zu stellen.

Erstellen einer benutzerdefinierten Suchmaschine

Um die JSON-API für die benutzerdefinierte Suche verwenden zu können, benötigen wir eine benutzerdefinierte Suchmaschinen-ID. Wir müssten jedoch zuerst eine benutzerdefinierte Suchmaschine erstellen, was hier möglich ist.

Wenn Sie die Seite der benutzerdefinierten Suchmaschine besuchen, klicken Sie auf die Schaltfläche "Hinzufügen", um eine neue Suchmaschine zu erstellen.

Geben Sie im Feld "Zu suchende Websites" einfach "www" ein.linuxhint.com“ und geben Sie im Feld „Name der Suchmaschine“ einen beschreibenden Namen Ihrer Wahl ein (Google wäre vorzuziehen).

Klicken Sie nun auf „Erstellen“, um die benutzerdefinierte Suchmaschine zu erstellen, und klicken Sie auf der Seite auf die Schaltfläche „Systemsteuerung“, um den Erfolg der Erstellung zu bestätigen.

Sie würden einen Abschnitt „Suchmaschinen-ID“ und darunter eine ID sehen, das ist die ID, die wir für die API benötigen würden und auf die wir später in diesem Tutorial verweisen würden refer. Die Suchmaschinen-ID sollte privat bleiben.

Bevor wir gehen, denken Sie daran, dass wir „www.linuht.com“ früher. Mit dieser Einstellung würden wir nur Ergebnisse von der Site allein erhalten. Wenn Sie die normalen Ergebnisse der gesamten Websuche erhalten möchten, klicken Sie im Menü auf der linken Seite auf „Setup“ und dann auf die Registerkarte „Basics“. Gehen Sie zum Abschnitt „Das gesamte Web durchsuchen“ und schalten Sie diese Funktion ein.

Erstellen eines API-Schlüssels

Nachdem Sie eine benutzerdefinierte Suchmaschine erstellt und ihre ID erhalten haben, erstellen Sie als Nächstes einen API-Schlüssel. Der API-Schlüssel ermöglicht den Zugriff auf den API-Dienst und sollte nach der Erstellung sicher aufbewahrt werden, genau wie die Suchmaschinen-ID.

Um einen API-Schlüssel zu erstellen, besuchen Sie die Website und klicken Sie auf die Schaltfläche „Get A Key“.

Erstellen Sie ein neues Projekt und geben Sie ihm einen aussagekräftigen Namen. Wenn Sie auf "Weiter" klicken, wird der API-Schlüssel generiert.

Auf der nächsten Seite haben wir verschiedene Setup-Optionen, die für dieses Tutorial nicht notwendig sind, also klicken Sie einfach auf die Schaltfläche „Speichern“ und wir können loslegen.

Zugriff auf die API

Wir haben die benutzerdefinierte Such-ID und den API-Schlüssel gut erhalten. Als nächstes werden wir die API verwenden.

Während Sie mit anderen Programmiersprachen auf die API zugreifen können, werden wir dies mit Python tun.

Um mit Python auf die API zugreifen zu können, müssen Sie den Google API-Client für Python installieren. Dies kann mit dem pip-Installationspaket mit dem folgenden Befehl installiert werden:

pip installieren google-api-python-client

Nach erfolgreicher Installation können Sie nun die Bibliothek in unseren Code importieren.

Das meiste, was getan wird, würde über die folgende Funktion erfolgen:

von googleaplicient.Discovery-Import-Build
my_api_key = "Ihr API-Schlüssel"
my_cse_id = "Ihre CSE-ID"
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch", "v1", developerKey=api_key)
res = Dienst.cse().list(q=search_term, cx=cse_id, **kwargs).ausführen()
zurück res

In der obigen Funktion ist die my_api_key und meine_cse_id Variablen sollten durch den API Key bzw. die Search Engine ID als Stringwerte ersetzt werden.

Jetzt muss nur noch die Funktion aufgerufen werden, die den Suchbegriff, den API-Schlüssel und die cse-ID übergibt.

result = google_search("Kaffee", my_api_key, my_cse_id)
drucken (Ergebnis)

Der obige Funktionsaufruf würde nach dem Schlüsselwort „Kaffee“ suchen und den zurückgegebenen Wert dem Ergebnis Variable, die dann gedruckt wird. Ein JSON-Objekt wird von der Custom Search API zurückgegeben, daher würde jede weitere Analyse des resultierenden Objekts ein wenig JSON-Kenntnisse erfordern.

Dies kann an einem Beispiel des Ergebnisses wie unten gezeigt gesehen werden:

Das oben zurückgegebene JSON-Objekt ist dem Ergebnis der Google-Suche sehr ähnlich:

Zusammenfassung

Google nach Informationen zu kratzen ist den Stress nicht wirklich wert. Die Custom Search API macht jedem das Leben leicht, da die einzige Schwierigkeit darin besteht, das JSON-Objekt nach den benötigten Informationen zu analysieren. Denken Sie immer daran, Ihre benutzerdefinierten Suchmaschinen-ID- und API-Schlüsselwerte privat zu halten.

So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....