Profilbild von Johannes Wehden mit einem Leuchtturm im Hintergrund

Moin! Ich bin Johannes

  • Softwareentwickler
  • Ausbilder
  • Teamleiter

Hier erfährst du mehr über mich und meine Projekte.

Email

info@johanneswehden.de

Social

Zurück

Simpler Webscraper

zum Pushen eines Blogartikels

Eigentlich wollte ich nur die Aufrufzahlen eines Blogartikels "optimieren". Am Ende hatte ich jedoch einen Webscraper geschrieben, der in einem definierten Intervall eine Liste von Webseiten aufruft und den HTML-Code speichert.

Roboter mit einer Idee

#Hintergrund

Um die Besucherzahlen auf unserer Unternehmenswebsite zu erhöhen, soll jedes Team einen Blogartikel pro Monat verfassen. Zur Steigerung der Motivation wird der am häufigsten besuchte Artikel mit einer kleinen Prämie wie z.B. einem Kinogutschein belohnt. Wie die Aufrufe der Blogartikel gezählt werden, wurde jedoch nicht berücksichtigt.

Ich habe beim Aufrufen meines eigenen Blogartikels herausgefunden, dass je Artikel ein Cookie mit einem Hashwert gesetzt wird. Dieser Cookie verhindert, dass beim Neuladen der Website ein weiterer Aufruf gezählt wird. Entfernt man das Cookie manuell oder öffnet die Webseite in einer neuen Umgebung (z.B. privates Fenster), zählt dies als neuer Besuch und der öffentlich einsehbare Counter des Artikels erhöht sich.

Nun wollte ich natürlich nicht manuell die Aufrufzahlen des Blogartikels erhöhen, sondern habe mir für diesen Zweck ein kleines Skript geschrieben.

#Umsetzung

Angefangen hat alles damit, dass eine Website mehrmals aufgerufen wurde. Dann kam mir der Gedanke, dass es doch etwas auffällig wäre, wenn innerhalb weniger Sekunden hunderte von Anfragen die Webseite erreichen. Also beschloss ich, das Skript regelmäßig über einen Cron-Job zu starten. Aber auch so wäre eine systematische Regelmäßigkeit erkennbar. Obwohl ich nicht wusste, ob dies überhaupt analysiert wird, habe ich daher einen Zufallsfaktor eingebaut, damit die Anfragen nicht immer in gleichen Abständen kommen.

Als nächstes habe ich mir Gedanken über die Logging-Funktion und die Möglichkeit gemacht, die aufgerufenen Webseiten (ja, mittlerweile Plural) lokal als Backup zu speichern. Die Möglichkeiten der Weiterentwicklung sind schier endlos. Solange ich aber keine konkrete Auswertung der gesammelten Daten vorhabe, soll an dieser Stelle Schluss sein.

#Ergebnis

Den Code zum Webscraper findest du auf meinem Repository in GitHub.