Sitzungen und Cookies beim Web Scraping

Kratzen, Mar-06-20245 Min. gelesen

Sie können Sessions und Cookies im Bereich des Web Scraping nicht übersehen. Die meisten Webanwendungen sind auf Sitzungen und Cookies angewiesen, um sich an jeden einzelnen Benutzer zu erinnern und ihm ein besseres Benutzererlebnis zu bieten. Aber was genau sind Sessions und Cookies in der Welt der Webprogrammierung, und wie funktionieren sie? In diesem Artikel werden wir

Sie können Sessions und Cookies im Bereich des Web Scraping nicht übersehen. Die meisten Webanwendungen sind auf Sitzungen und Cookies angewiesen, um sich an jeden einzelnen Benutzer zu erinnern und ihm ein besseres Benutzererlebnis zu bieten. 

Aber was genau sind Sessions und Cookies in der Welt der Webprogrammierung, und wie funktionieren sie? In diesem Artikel werden wir all diese Fragen beantworten, bevor wir uns der Verwendung von Sitzungen und Cookies beim Web Scraping widmen. Beginnen wir mit den Sitzungen.

Lasst uns eintauchen, Leute!

Was sind die Sitzungen im Internet?

Einfacher ausgedrückt, ist eine Sitzung einfach eine Reihe von Benutzerinteraktionen zwischen Ihrem Gerät und dem Server, mit dem es verbunden ist. Die Dauer einer Sitzung kann ab dem Zeitpunkt beginnen, an dem ein Gerät die Kommunikation mit einem Server aufnimmt. Eine Sitzung endet dann, wenn ein Benutzer die Verbindung mit einer Webanwendung beendet.

Andererseits kann es auch Sitzungen geben, die der Timer aufruft, wenn ein Benutzer eine Website besucht. Ein Webserver setzt diese Timer für einen bestimmten Zeitraum, und die Sitzung läuft ab, wenn der Timer abläuft.

Eine Sitzung kann unterteilt werden in:

  1. Zustandsbezogen: Mindestens eine der Parteien bewahrt Informationen über die Kommunikation auf. Das heißt, wenn ein Client eine Kommunikation mit dem Server aufbaut, bedient er den Benutzer, indem er die Informationen über die vorherigen Sitzungsdaten abruft.  
  2. Zustandslos: Ein Server speichert die Daten eines Clients nicht in einer zustandslosen Sitzung auf einem Server, um sie in der nächsten Sitzung zu verwenden. Stattdessen speichert der Client die Sitzungsdaten und gibt sie bei Bedarf an den Server weiter. Wenn ein Client eine neue Sitzung beginnt, basiert diese also nicht auf den in der vorherigen Sitzung ausgetauschten Daten.

Um die Konzepte besser zu verstehen, sollten wir uns die Funktionsweise einer Sitzung genauer ansehen.

Wie funktionieren die Sitzungen?

Es gibt zwar verschiedene Arten von Sitzungen, aber die Grundprinzipien, nach denen sie funktionieren, bleiben dieselben. Beginnen wir mit einem gängigen Sitzungstyp, der HTTP-Sitzung.

HTTP-Sitzung

Wenn ein Client-Gerät über einen Webbrowser eine Verbindungsanfrage an einen Server stellt, nimmt der Server die Anfrage an und gibt die Antwort zurück, indem er eine Sitzung erstellt. Zusammen mit der Antwort gibt der Server auch die Sitzungs-ID zurück. Dann sendet der Client weitere Anfragen mit der Sitzungs-ID, und der Browser antwortet daraufhin. 

Der gesamte Prozess wird so lange fortgesetzt, bis der Benutzer ihn beendet.

Typische Beispiele für Sitzungen

Konkrete Beispiele für Sitzungen sind der Besuch einer E-Commerce-Webseite und das Hinzufügen von Artikeln zu einem Einkaufswagen, das Ausfüllen von Webformularen, das Blättern auf einer Webseite und der Zugriff eines Schülers auf ein Webportal, indem er sich dort anmeldet, um seine Noten einzusehen.

Anschließend tauschen der Server und der Client bei jedem Besuch Daten unter Verwendung einer Sitzungsnummer aus. In einem temporären Verzeichnis auf dem Server werden die Sitzungsinformationen gespeichert, z. B. die aufgerufenen Seiten, die Anmeldedaten des Benutzers, die Daten, die Sie in Kontrollkästchen oder Dropdown-Listen ausgewählt haben, die Artikel, die Sie in einen Einkaufswagen gelegt haben, usw.

Diese Daten werden dann jeder Seite, die Sie auf einer Website besucht haben, zur Verfügung gestellt.

Auf einigen Webseiten stellen Webentwickler Sitzungen mit einem Timer ein. Das Hauptziel der Verwendung eines Timers besteht darin, die Benutzer über einen längeren Zeitraum von einer idealen Aktivität abzuhalten. Nach einer Zeitüberschreitung laufen solche Sitzungen ab, und der Webserver leitet eine neue Sitzung für weitere Interaktionen ein.  

Das folgende Diagramm ist ein Beispiel für eine Sitzung.

Um eine einzigartige Benutzererfahrung zusammen mit einer Sitzung zu ermöglichen, verwenden Browser ein Konzept namens Cookies. Im nächsten Abschnitt werden wir mehr darüber erfahren.

Was sind Cookies?

Wenn ein Client eine Anfrage an einen Server stellt, erstellt dieser die Sitzung und sendet die Antwort mit einem Cookie. Cookies sind kleine Datenstücke, darunter die von Ihnen besuchten Seiten, User-Agent-Daten, wie lange Sie auf einer Webseite waren, andere persönliche Daten beim Betreten der Website und Cookies, die Sie zuvor akzeptiert haben und die der Server erstellt.

Der Server erstellt diese Daten in einer winzigen textbasierten Datei und sendet sie an den Client. Daraufhin speichert der Client die Cookie-Datei im Browser des Nutzers. Bei jeder weiteren Anfrage sendet der Client dann ebenfalls diese Cookie-Datei. Dann ruft der Server die Sitzungsdaten des jeweiligen Benutzers ab und sendet die Antwort an den Client zurück. 

Der oben beschriebene Prozess ist in der nachstehenden Abbildung dargestellt:

Beispiel für ein Szenario zur Verwendung von Cookies

Angenommen, Sie füllen ein Online-Formular aus, um ein Produkt zu kaufen. Nachdem Sie alle Ihre persönlichen Daten eingegeben und das Produkt in den Warenkorb gelegt haben, schließen Sie das Browserfenster versehentlich vor der Kasse. 

Nachdem Sie das Fenster erneut geöffnet haben, werden Sie feststellen, dass Sie nicht alle Ihre Daten erneut eingeben und den Artikel erneut auswählen mussten. Sie können dort weitermachen, wo Sie aufgehört haben. All dies ist dank der Cookie-Session-Kombination möglich, die Sie gerade gelernt haben.

Wie Sie sehen, verbessert die Kombination aus Cookie und Sitzung die Benutzerfreundlichkeit, und ohne sie wären Websites unwirksam.

Dauerhafte Cookies vs. Sitzungscookies

Ein Sitzungs-Cookie wird gelöscht, wenn Sie Ihren Browser schließen, und speichert daher keine Informationen auf Ihrem Gerät. Er sendet auch keine Informationen aus Ihrem Gerät heraus.

Im Gegensatz dazu werden dauerhafte Cookies auf Ihrer Festplatte gespeichert, bis sie ablaufen oder Sie sie löschen. Diese Cookies sammeln Daten über Ihren Browserverlauf, wie lange Sie auf einer bestimmten Webseite geblieben sind, die Geräte, die Sie für den Zugriff auf die Website verwendet haben, usw.

Anwendungsfälle von Cookies

In den meisten Fällen verwenden Webentwickler Cookies, um ihren Nutzern ein personalisiertes Erlebnis zu bieten. Am bekanntesten sind sie jedoch für Websites, die angepasste Themen und Anmeldedaten erfordern. Wenn Sie noch weiter in die Tiefe gehen, werden Sie feststellen, dass sie auch für die Sitzungsverwaltung und -verfolgung verwendet werden. Werfen wir einen Blick auf jedes dieser Elemente:

Sitzungsmanagement

Sie wissen bereits, dass eine Sitzung eine kontinuierliche Interaktion mit einer Website ist, bis der Benutzer die Sitzung beendet oder der Timer die Sitzung beendet. Wenn Sie also Cookies auf einer Webseite aktivieren, werden diese Sitzungsdaten gespeichert, so dass ein Nutzer nicht alle Informationen in einem Online-Formular ausfüllen oder sich sogar erneut anmelden muss, wenn Sie versehentlich das Browserfenster schließen. 

All diese Aktionen erleichtern das Surfen im Internet, so dass Sie keine sich wiederholenden Aufgaben ausführen müssen.

Nachverfolgung

Bestimmte Cookies sind als Tracking-Cookies bekannt, die Nutzer über zahlreiche Websites oder Dienste hinweg verfolgen und Daten sammeln. Die Unternehmen verwenden die Daten, die Tracking-Cookies sammeln, für das Direktmarketing, z. B. für gezielte Werbung.

Die Tracking-Cookies funktionieren, indem sie eine Textdatei in einem Browser ablegen, während eine Website aufgerufen wird. Diese Textdatei sammelt Daten, einschließlich der Aktivität des Nutzers auf einer Website, des geografischen Standorts, des Browserverlaufs und der verschiedenen Trends, die der Kunde für den Kauf verwendet hat.  

Es würde zwar den Rahmen dieses Artikels sprengen, zu sagen, ob die Verwendung von Ziel-Cookies ethisch vertretbar ist oder nicht, aber sie könnte die Nutzer zweifellos verärgern. Die Nutzer können diese Cookies jedoch löschen, da sie nicht verpflichtet sind, sich diese Werbung anzusehen.

Sie können dieses Thema sicherlich durch eine Suche bei Google vertiefen.

Personalisierte Präferenzen

Sie alle haben persönliche Vorlieben, wenn es um das Surfen im Internet geht. Website-Betreiber und Web-Entwickler wissen das, und deshalb verwenden sie Cookies für personalisierte Präferenzen. Diese personalisierten Präferenzen umfassen die Bereitstellung von Inhalten und den Verkauf von Diensten an den Benutzer auf der Grundlage von Standort, Sprache, Browsertyp, Betriebssystemversion und vielem mehr.

Websites können ihren Inhalt so ändern, dass die Besucher die Seite leicht durchlaufen können.

Was ist der Unterschied zwischen einem Cookie und einer Sitzung?

Wir hoffen, Sie haben nun ein Verständnis für Sitzungen und Cookies gewonnen. Cookies speichern Informationen über das Surfverhalten des Nutzers und andere persönliche Daten auf dem Computer des Nutzers. Im Gegensatz dazu erstellt der Server eine Sitzung, in der die Daten vorübergehend gespeichert werden und die beendet wird, wenn ein Nutzer die Interaktion mit der Website beendet.

Ein Cookie hingegen verbleibt auf Ihrem Computer, bis er abläuft oder vom Nutzer gelöscht wird.

Die folgende Tabelle fasst die Unterschiede noch deutlicher zusammen:

Sitzung vs. Cookies

Wie werden Sitzungen und Cookies beim Web Scraping verwendet?

Sitzungen

Wenn es um Sitzungen beim Web Scraping geht, fungieren Proxys als Brücke. Wenn Sie zum Beispiel eine Verbindung zu einer Website herstellen, um Daten zu scrapen, erstellt der Server, der die Website hostet, eine Sitzung zwischen Ihnen und der Website.

Daher können einige Websites beim Scraping großer Datenmengen Zeitüberschreitungen verhängen. Wenn Sie jedoch zahlreiche Anfragen von derselben IP-Adresse aus senden, wird die Ziel-Website Sie blockieren, da sie davon ausgeht, dass Sie verdächtige Aktivitäten durchführen.

Daher müssen Sie die Anfragen mit Hilfe von Proxys für Privatpersonen rotieren lassen, die für jede Anfrage mehrere Sitzungen einrichten. 

Der große Vorteil der oben genannten Methode ist, dass Sie nicht nur in der Lage wären, Daten parallel zu scrapen, sondern auch, dass die Ziel-Website so aussieht, als würden Sie organischen Traffic senden.

Infolgedessen ist es unwahrscheinlich, dass die Ziel-Website Sie sperrt. Aus diesem Grund wird Web-Scraping auch hauptsächlich mit rotierenden Sitzungen und nicht mit permanenten Sitzungen in Verbindung gebracht.  

Weitere Informationen zu den beiden Sitzungsarten finden Sie im Artikel Sticky vs. Rotating Sessions.

Cookies

Ich wiederhole, dass das Haupthindernis beim Web-Scraping darin besteht, die von der Ziel-Website auferlegten Sperren zu umgehen. Wir haben uns angeschaut, wie Sitzungen dieses Problem mit rotierenden Proxys überwinden können; eine Sitzung allein würde das Problem jedoch nicht lösen.

Wie in einigen der oben genannten Abschnitte erläutert, sendet der Ziel-Webserver die Cookies an ein Client-Gerät. Wenn Sie also Anfragen an bestimmte Webseiten stellen, um Daten zu scrapen, müssen Sie Zugang zu den richtigen Cookies haben, um auf die erforderlichen Daten zugreifen zu können. 

Nehmen wir zum Beispiel an, Sie rufen eine bestimmte Produktseite auf einer E-Commerce-Website auf, die Ihnen keine Cookies zur Verfügung stellt. Dann ist die Wahrscheinlichkeit groß, dass die Ziel-Website Sie als Bot-Aktivität identifiziert.

Um dieses Problem zu beheben, können Sie zunächst die Homepage dieser speziellen eCommerce-Website besuchen und die Cookie-Datei abrufen. Dann können Sie die Scraping-Anfragen mit mehreren Proxys für Wohngebiete zusammen mit der Cookie-Datei senden.

Der Hauptvorteil dieses Ansatzes besteht darin, dass die Ziel-Website Sie mit geringerer Wahrscheinlichkeit blockieren wird, weil Sie die entsprechende Cookie-Datei nicht gesendet haben. Außerdem sieht es für die Ziel-Website so aus, als kämen verschiedene Anfragen von verschiedenen Nutzern.

Schlussfolgerung

Wir hoffen, dass Sie in diesem Artikel einen umfassenden Überblick darüber erhalten haben, was Sitzungen und Cookies sind. Cookies und Sitzungen sind ein wesentlicher Bestandteil des Web-Scraping, denn ohne das Verständnis ihrer Funktionsweise würden sie von den Ziel-Websites gesperrt werden.

Ihr Web-Scraping-Prozess wird zweifellos reibungslos ablaufen, wenn Sie Cookies und Sitzungen richtig mit Proxys nutzen.