Einen Web Bot mit Python und Selenium erstellen

Web Bot Darstellung

Ein Web Bot ist ein Programm oder Skript, welches automatisch Aufgaben bearbeitet die sich oft wiederholen, wie zum Beispiel Preise von einem Onlineshop auslesen und in einer Datenbank speichern. Damit kann man Preisänderungen verfolgen oder darstellen und gegebenenfalls die Waren zum richtigen Zeitpunkt einkaufen.

Was braucht man um einen Web-Bot zu machen?

Um einen simplen Web-Bot zu schreiben braucht man folgende Dinge:

  • Browser
  • Webdriver
  • Python
  • Selenium-Modul
  • Bot-Code

Was ist ein Webdriver?

Ein Webdriver ist ein Steuerungsprogramm für den Browser. Damit kann man die Aktivitäten die man am Browser macht, automatisieren. Zum Beispiel „rufe die URL http://www.google.com auf“ oder „Zeige mir den Quelltext der aktuellen Seite“. Weiters kann man Javascript-Code live einspeisen oder den DOM-Elemente suchen wie zum Beispiel Links mit einem bestimmten Linktext.

Für die gängisten Browser existieren die notwendigen Driver. Diese müssen nicht installiert werden sondern sind ein eigenständiges Programm und funktionieren unter Windows auch ohne Administrationsrechte.

Download für die gängigsten Browser

Webdriver für Firefox
Webdriver für Chrome

Wie fange ich mit dem Web Bot an?

Nachdem das Selenium Modul installiert wurde kann nun mit der eigentlichen Abeit begonnen werden.

Dazu legt man sich am besten ein neues python-File an und gibt folgende Zeilen Code ein:

from selenium import webdriver

# Neue Instanz erzeugen mit Firefox
driver = webdriver.Firefox()
# zu Google navigieren
driver.get("http://www.google.com")
# den aktuellen Titel der Website auslesen
print(driver.title)
# driver wieder schließen
driver.quit()

Wenn alles funktioniert hat, wird der Browser gestartet, zu Google navigiert und der Title ausgelesen. Desweiteren gibt es noch unendliche Möglichkeiten, dazu empfehle ich aber die Dokumentation bei Selenium selbst zu lesen.

Wichtig ist das der Webdriver im gleichen Verzeichnis liegt wie das Python-Script. Bei mir hat es nämlich nicht funktioniert, da der Webdriver wo anders gelegen war. Alternativ kann man auch den Pfad zum Webdriver im Code angeben und mit dieser Zeile:

driver = webdriver.Firefox(executable_path=r'C:\webdriver\geckodriver.exe')

Zum Beispiel kann man die Suchposition der eigenen Domain bei Google auslesen  und in einer Datenbank speichern.

Die Zukunft von Social Media Marketing

Wie wichtig ist es mittlerweile für ein Unternehmen in den sozialen Netzwerken wie Facebook, Twitter, Xing etc. präsent zu sein? Welche Vorteile hat das und vor allem: Lohnt es sich?

Facebook ist wohl das verbreitetste soziale Netzwerk das es gibt, und eignet sich somit hervorragend für Verbreitung und Vermarktung vieler kleiner und großer Unternehmen. Wichtig hierbei ist das man das ganze regelmäßig aktualisiert, da man sonst ziemlich schnell aus dem Fokus geraten kann, denn mittlerweile ist das Internet dynamisch und interaktiv geworden und kein statisches Medium mehr.

Die wahrscheinlich wichtigsten Punkte für ein erfolgreiches Social-Media-Profil sind:

  • Regelmäßige Aktualisierungen
  • Interaktivität gewährleisten (Auf Kommentare und Anfragen reagieren)
  • Zielgruppe direkt ansprechen
  • Identifikation der Beiträge mit dem Unternehmen

Bei Beachtung all dieser Faktoren, hat man eine extrem kostengünstige Methode geschaffen, um effektiv Leute anzusprechen und kann sich leicht das eigene Image aufpolieren. Jedoch hat das ganze auch negative Seiten, zum Beispiel wenn ein Fehler passiert ist oder irgendwelchen Kunden etwas missfällt sollte man darauf achten, dass ganze unter Kontrolle zu halten, da man sonst dem eigenem Image eher schadet.

Viele größere Unternehmen haben mittlerweile sogar eigene Leute eingestellt, welche regelmäßig den Content für soziale Netzwerke und Blogs etc. schreiben bzw. pflegen.

In diesem Bereich wird sich also auch in Zukunft noch viel verändern.

Webseitenoptimierung

Diese Tipps gelten für die Programmierung eigener Seiten, da die meisten modernen Content-Management-Systeme (CMS) all das automatisch machen. Für sehr kleine Seiten jedoch sind CMS jedoch meiner Meinung nach zu überladen.

  • Kleine Icons in ein großes Bild einfügen und per CSS platzieren. So muss der Browser nur ein Bild bzw. weniger Bilder laden und die Seitenaufbaugeschwindigkeit erhöht sich. Darüber hinaus sind sehr viele kleine Dateien auch bei einem FTP-Upload mühseelig.
  • CSS sauber halten und nicht in zu viele Dateien gliedern. Will man die Dateigröße verringern, gibt es Tools welche Leerzeichen etc. entfernt. Das gleiche gilt für Javascript-Dateien.
  • W3C-Standard einhalten! Kann man auch immer mit diversen AddOns für Firefox im Blick behalten.
  • Kein Flash und so wenig Javascript wie nötig verwenden! Es gibt nichts schlimmeres als zu aufgeblasene Seiten.