Die meisten APIs können öffentliche Seiten im Internet crawlen und scrapen, für die kein Login erforderlich ist. Was aber, wenn Sie auf Daten zugreifen müssen, die hinter einem Login verborgen sind? Gibt es eine Möglichkeit für Sie?

In diesem Artikel zeigen wir Ihnen eine einzigartige Möglichkeit, Ihre Sitzungscookies aus einer angemeldeten Sitzung zu extrahieren und an eine API weiterzuleiten. So kann sich diese bei einer Website anmelden und die benötigten Daten extrahieren. Der Prozess mag kompliziert klingen, aber probieren Sie es aus und sehen Sie, wie Crawlbase kann den gesamten Prozess für Sie vereinfachen - sehen Sie es in Aktion.

Inhaltsverzeichnis

  1. Komplexität der Web Scraping-Authentifizierung

  2. Einführung in die Authentifizierung

  3. Was sind Session-Cookies?

  4. So extrahieren Sie Cookies aus Ihrem Browser

  5. Authentifiziertes Scraping mit der Python Requests Library

  6. Scraping hinter der Anmeldung mit Crawlbase

  7. Best Practices zum Scraping von Login-geschützten Sites

  8. Häufig gestellte Fragen

Komplexität der Web Scraping-Authentifizierung

Websites verwenden Authentifizierungssysteme, um benutzerspezifische Inhalte zu schützen. Im Gegensatz zu öffentlichen Seiten können Sie nicht einfach eine GET-Anfrage senden und erwarten, dass aussagekräftige Daten extrahiert werden. Diese privaten oder geschützten Seiten verwenden verschiedene Authentifizierungsmethoden, darunter Anmeldeinformationen, Sitzungscookies, Token, Anmeldeinformationen und gelegentlich Multi-Faktor-Authentifizierung.

Außerdem legen die meisten Websites heutzutage großen Wert darauf, Bots und Scraper zu blockieren. Dinge wie Erkennen, wenn Sie kein echter Mensch sind, die Geschwindigkeit Ihrer Anfragen begrenzen, Ihre IP-Adresse direkt sperren oder ihre Sicherheitstoken ständig ändern. Viele Websites überwachen und blockieren außerdem verdächtige IP-Adressen, um unbefugten Zugriff zu verhindern.

Wenn Sie Inhalte scrapen müssen, für deren Zugriff eine Anmeldung erforderlich ist, stehen Ihnen für Ihre Zielwebsite grundsätzlich zwei Hauptoptionen zur Verfügung:

• Erstellen Sie ein Skript, das sich selbstständig anmelden kann, um eine Website zu scrapen. Bringen Sie ihm bei, das Anmeldeformular auszufüllen und den angemeldeten Status beizubehalten, während es sich die benötigten Daten holt.

• Führen Sie den Anmeldevorgang selbst in einem normalen Browser durch und kopieren Sie dann diese Sitzungscookies in Ihr Scraping-Skript, damit die Website denkt, Sie seien es.

Crawlbase Ermöglicht die Weitergabe Ihrer Sitzungscookies an die API, sodass diese sich vor dem Extrahieren des Inhalts bei einer Website anmelden kann. Diese Funktion ist nützlich, wenn Sie Websites scrapen müssen, die eine Authentifizierung erfordern, wie z. B. Plattformen wie Amazon. Für einige Seiten, z. B. Produktbewertungen, ist mittlerweile eine Anmeldung erforderlich. Sie ist auch hilfreich für den Zugriff auf Inhalte auf Social-Media-Seiten wie Facebook, einschließlich privater Gruppen oder Benutzerprofile, die nicht öffentlich zugänglich sind.

Einführung in die Authentifizierung

Beim Web Scraping ist die Authentifizierung oft die erste große Hürde. Viele Websites schützen ihre wertvollen Daten mit Anmeldeformularen, die von Nutzern die Eingabe ihrer Anmeldedaten verlangen, bevor sie auf bestimmte Seiten zugreifen können. Wenn Sie Daten aus diesen geschützten Bereichen scrapen möchten, müssen Sie den Anmeldevorgang als Teil Ihres Scraping-Workflows automatisieren.

Der typische Ansatz besteht darin, HTTP-Anfragen an die Anmeldeseite zu senden, genau wie ein normaler Benutzer. Mithilfe der Requests-Bibliothek von Python können Sie das Anmeldeformular programmgesteuert ausfüllen und mit einer POST-Anfrage übermitteln. Dies bedeutet, dass Sie die Anmeldeseite überprüfen müssen, um die genauen erforderlichen Felder zu identifizieren – wie Benutzername, Passwort und manchmal auch versteckte Felder –, damit Sie diese in Ihre Anmeldedaten-Nutzlast aufnehmen können.

Öffnen Sie dazu die Anmeldeseite in Ihrem Browser und untersuchen Sie den HTML-Code mithilfe der Entwicklertools des Browsers. Suchen Sie nach dem Anmeldeformular, notieren Sie sich die Namen der Eingabefelder und ermitteln Sie die URL des übermittelten Formulars. Diese Informationen sind entscheidend für die korrekte Erstellung Ihrer POST-Anfragen. Sobald Sie diese Details gesammelt haben, können Sie die Anfragebibliothek nutzen, um die Anmeldedaten zu senden und eine authentifizierte Sitzung aufzubauen. So können Sie Daten von Seiten extrahieren, die sonst durch eine Anmeldung gesperrt wären.

Wenn Sie verstehen, wie Anmeldeformulare funktionieren und wie Sie über HTTP-Anfragen mit ihnen interagieren, können Sie die Authentifizierungsbarriere überwinden, die die meisten Websites zum Schutz ihrer Inhalte einrichten.

Was sind Session-Cookies?

Session-Cookies sind temporäre Cookies, die in Ihrem Browser gespeichert werden, wenn Sie sich bei einer Website anmelden. Es handelt sich um kleine Datenmengen, die identifizieren, ob ein Benutzer angemeldet ist und auf geschützte Inhalte zugreifen darf. Diese Daten verfallen in der Regel beim Schließen des Browsers, manchmal aber auch automatisch nach einer bestimmten Zeit.

Ohne diese Cookies können Websites den Benutzer nicht identifizieren und sich nicht merken, ob er bereits authentifiziert ist oder nicht. Sie müssten sich immer wieder neu anmelden, was nicht sehr praktisch wäre.

Hier werden Sitzungscookies für das Scraping wichtig. Wenn Sie versuchen, eine Seite zu scrapen, die eine Anmeldung erfordert, und Ihr Sitzungscookie nicht einbinden, blockiert die Website wahrscheinlich Ihre Anfrage oder leitet Sie zur Anmeldeseite weiter. Wenn Sie jedoch das richtige Cookie einbinden, behandelt die Website Ihren Scraper als angemeldeten Benutzer und gewährt Zugriff auf die geschützten Inhalte. So können Sie authentifizierte Anfragen stellen und Zugriff auf die geschützten Inhalte gewähren. Sie können gespeicherte Cookies auch für die zukünftige Verwendung verwalten, sodass Sie sich nicht bei jedem Scraping erneut anmelden müssen.

Kurz gesagt: Sitzungscookies sind der Schlüssel zum Zugriff auf private oder benutzerspezifische Daten auf vielen Websites. Sobald Sie wissen, wie Sie sie extrahieren und wiederverwenden, können Sie auf Daten zugreifen, die normalerweise hinter einem Login verborgen sind.

Als Nächstes sehen wir uns an, wie Sie Ihre Sitzungscookies mithilfe Ihres Browsers abrufen können.

Beim Zugriff auf Daten hinter einer Anmeldung können Sie ein Sitzungsobjekt zur Authentifizierung verwenden. Durch die Wiederverwendung desselben Sitzungsobjekts für mehrere Anfragen stellen Sie sicher, dass Ihr Anmeldestatus erhalten bleibt. Sitzungscookies ermöglichen Ihnen, nachfolgende Anfragen ohne erneute Authentifizierung zu stellen. Nach der Authentifizierung können Sie Daten von geschützten Seiten abrufen und Daten aus Bereichen extrahieren, die sonst nicht zugänglich wären.

Befolgen Sie beim Umgang mit Sitzungscookies immer verantwortungsvolle Scraping-Praktiken, um die Website-Bedingungen und gesetzlichen Anforderungen einzuhalten.

So extrahieren Sie Cookies aus Ihrem Browser

Es gibt verschiedene Möglichkeiten, Cookies aus Ihrem Browser zu extrahieren – von einfach bis anspruchsvoll. Sie können Browser-Add-ons verwenden oder Automatisierungstools wie Selenium nutzen. In diesem Fall zeigen wir Ihnen eine der einfachsten Möglichkeiten zum Extrahieren Ihrer Sitzungscookies, die wir später zum Scrapen von Daten von Seiten verwenden, die eine Anmeldung erfordern.

Beachten Sie, dass diese Methode Risiken birgt, da Sie sich mit Ihrem Konto anmelden müssen, um die Cookies aus dem Browser zu extrahieren. Wir empfehlen Ihnen, ein Dummy-Konto zu verwenden. Diese Anleitung dient ausschließlich informativen Zwecken.

  • Schritt 1: Starten Sie zunächst einen Browser wie Google Chrome, Mozilla Firefox oder Microsoft Edge.

  • Schritt 2: Gehen Sie zu Facebook, geben Sie Ihre Anmeldedaten ein und melden Sie sich wie gewohnt an. Warten Sie, bis Sie angemeldet sind und Ihr Newsfeed oder Profil angezeigt wird.

  • Schritt 3: Klicken Sie mit der rechten Maustaste auf eine Stelle auf der Seite und wählen Sie dann „Untersuchen“ oder „Element untersuchen“. Dadurch werden die Entwicklertools Ihres Browsers geöffnet, die als DevTools.

  • Schritt 4: Oben im DevTools-Fenster sehen Sie mehrere Registerkarten mit den Bezeichnungen „Elemente“, „Konsole“, „Netzwerk“ usw. Klicken Sie auf Netzwerk.

  • Schritt 5: Beim ersten Öffnen der Registerkarte „Netzwerk“ ist diese möglicherweise leer. Drücken Sie F5 (oder klicken Sie auf die Schaltfläche „Neu laden“), um die Seite zu aktualisieren. Beim Neuladen der Seite wird im Bereich „Netzwerk“ eine Liste der Netzwerkanfragen angezeigt.

  • Schritt 6: Suchen Sie nach der ersten aufgeführten Netzwerkanfrage. Klicken Sie auf diesen Eintrag, um detaillierte Informationen zu dieser Anfrage anzuzeigen.

Ein Bild, das das Netzwerk-Bedienfeld in der Chrome Developer Tools-Oberfläche anzeigt.
  • Schritt 7: Suchen Sie bei ausgewählter Netzwerkanfrage nach einem Cookies or Headers Unterregisterkarte, normalerweise auf der rechten Seite von DevTools. Möglicherweise finden Sie „Cookies“ als separate Registerkarte oder müssen durch die Antwortheader scrollen, um unter „Anforderungsheader“ einen Abschnitt mit der Bezeichnung „Cookie“ zu finden.
Ein Bild, das den Abschnitt „Cookies“ in den Chrome Developer Tools zeigt.
  • Schritt 8: Sie sollten nun eine Liste der Cookie-Namen und -Werte sehen, die Ihrer Sitzung zugeordnet sind. Kopieren Sie die relevanten Cookie-Werte. Suchen Sie die c_user und xs Cookies, die Facebook häufig zur Sitzungsverwaltung verwendet.

  • Schritt 9: Öffnen Sie einen Texteditor wie Notepad. Fügen Sie die kopierten Cookie-Werte ein und beschriften Sie sie deutlich (z. B. c_user=[value], xs=[value]). Dies sind Ihre gespeicherten Cookies für die zukünftige Verwendung.

Hinweis: Diese Cookies ermöglichen Ihrem Scraper den Zugriff auf private Seiten, können aber auch anderen Personen Zugriff auf Ihr Facebook-Konto gewähren. Speichern Sie diese Datei sicher und geben Sie sie nicht an öffentliche Orte weiter oder laden Sie sie dort hoch.

Sie können diese gespeicherten Cookies in einem Python-Skript verwenden, um die Anmeldung und das Scraping zu automatisieren. So können Sie die Sitzungsauthentifizierung aufrechterhalten und wiederholte Anmeldungen vermeiden.

Authentifiziertes Scraping mit der Python Requests Library

Lassen Sie uns unsere extrahierten Cookies in die Tat umsetzen. Stellen Sie zunächst sicher, dass Ihre Python-Umgebung vollständig eingerichtet ist. Installieren Sie die neueste Python Version, verwenden Sie eine Ihrer bevorzugten IDE, und installieren Sie die Python-Anforderungsmodul. Sobald Ihre Umgebung eingerichtet ist, können wir mit der Übung fortfahren.

Angenommen, wir möchten dies scrapen Facebook-Hashtag-Musikseite, und unser Ziel ist es, Daten von geschützten Webseiten abzugreifen. Wenn Sie versuchen, dies im Inkognito-Modus von Chrome zu öffnen (ohne sich bei Ihrem Facebook-Konto anzumelden), wird die Anmeldeseite angezeigt:

Ein Bild, das die Facebook-Anmeldeseite anzeigt.

Wir können es versuchen Scrape diese Seite manuell Verwenden Sie Python, um zu sehen, was passiert. Erstellen Sie eine Datei und benennen Sie sie scraping_with_crawlbase.py, kopieren Sie dann den folgenden Code und fügen Sie ihn ein.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
importieren Zugriffe
von Anfragen.Ausnahmen importieren RequestException

TARGET_URL = "https://www.facebook.com/hashtag/music"
HEADERS = {
'akzeptieren': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Sprache akzeptieren': 'en-US,en',
'Benutzeragent': „Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/137.0.0.0 Safari/537.36“,
„sec-fetch-mode“: 'navigieren',
'Plätzchen': ' '
}
OUTPUT_FILE_NAME = "ausgabe.html"

versuchen:
Antwort = Anfragen.get(ZIEL-URL, Header=HEADERS)
Response.raise_for_status()

html_content = antwort.text
mit XNUMXh geöffnet(AUSGABEDATEINAME, "w", Kodierung="utf-8") as Datei:
Datei.Schreiben(Antwort.Text)

drucken(f"\nSeite erfolgreich gespeichert in '{AUSGABE_DATEINAME}'\N")

ausgeschlossen RequestException as Fehler:
drucken(f"\n Die Seite konnte nicht abgerufen werden: {Fehler}\N")

Stellen Sie sicher, zu ersetzen <cookies-goes-here> mit den tatsächlichen Cookies, die Sie zuvor aus Ihrem Facebook-Konto extrahiert haben, und führen Sie den Code mit dem folgenden Befehl aus.

1
Python scraping_with_crawlbase.py

Öffnen Sie nach dem Ausführen des Skripts die output.html Datei. Sie werden feststellen, dass der Inhalt leer oder unvollständig aussieht. Bei genauerer Betrachtung werden Sie feststellen, dass es sich größtenteils um nicht ausgeführtes JavaScript handelt.

Warum? Weil die gesuchten Daten dynamisch mit JavaScript geladen werden und requests allein kann JavaScript nicht wie ein Browser ausführen.

Wie können wir dieses Problem lösen? Das erfahren Sie im nächsten Abschnitt.

Scraping hinter der Anmeldung mit Crawlbase

Nachdem wir nun die Einschränkungen der Verwendung von Python gesehen haben requests Bibliothek allein. Lass uns verwenden Crawlbase um Probleme wie das Rendern von JavaScript und das Arbeiten hinter Login-Grenzen zu lösen. So geht's:

  • Schritt 1: Bereiten Sie Ihr Skript vor. Erstellen oder aktualisieren Sie Ihr scraping_with_crawlbase.py Datei mit folgendem Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
importieren JSON
importieren Zugriffe
von Anfragen.Ausnahmen importieren RequestException

API_TOKEN = " "
TARGET_URL = "https://www.facebook.com/hashtag/music"
SCHABER = "Facebook-Hashtag"
KEKSE = "" "

"" "
LAND = "UNS"

API_ENDPOINT = "https://api.crawlbase.com/"

Parameter = {
"Zeichen": API_TOKEN,
"URL": ZIEL-URL,
"Schaber": SCHABER,
"Kekse": KEKSE,
"Land": LAND
}

versuchen:
Antwort = Anfragen.get(API_ENDPOINT, Parameter=Parameter)
Response.raise_for_status()

json_string_content = antwort.text
json_data = json.loads(json_string_content)
pretty_json = json.dumps(json_data, Einzug=2)
drucken(hübsches_json)

ausgeschlossen RequestException as Fehler:
drucken(f"\nDie Seite konnte nicht abgerufen werden: {Fehler}\N")
  • Schritt 2: Ersetzen <Javascript requests token> mit Ihrem Crawlbase JavaScript-Token. Wenn Sie noch kein Konto haben, Registrieren zu Crawlbase um Ihre kostenlosen API-Anfragen anzufordern.

  • Schritt 3: Ersetzen <cookies-goes-here> mit denselben Cookies, die Sie zuvor aus Ihrer Facebook-Sitzung extrahiert haben.

Stellen Sie sicher, dass die Cookies richtig formatiert sind. Andernfalls, Crawlbase könnte sie ablehnen. Laut der Cookie-Dokumentation sollte das korrekte Format wie folgt aussehen:

1
Cookies: Schlüssel1=Wert1; Schlüssel2=Wert2; Schlüssel3=Wert3
  • Schritt 4: Führen Sie nun das Skript mit folgendem Befehl aus:
1
Python scraping_with_crawlbase.py

Wenn alles korrekt eingerichtet ist, wird in Ihrem Terminal eine saubere JSON-Ausgabe angezeigt. Dies ist der tatsächliche Inhalt der erfolgreich extrahierten Facebook-Hashtag-Seite.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
"ursprünglicher_Status": 200,
"pc_status": 200,
"URL": "https://www.facebook.com/hashtag/music",
"Domänenkomplexität": "Standard",
"Karosserie": {
"Hashtag": "",
„Beiträge“: [
{
"Nutzername": „Dave Moffatt Musik“,
"text": „Mit einem Lächeln kommst du durch. Man kann nicht alles gewinnen, aber man kann es versuchen! @eraserheads_official #nevada #music #withasmile #song“,
"URL": "https://www.facebook.com/hashtag/music?__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=%2CO%2CP-R#?bee",
"Datum/Uhrzeit": "oSspoenrdt0iS27g8ie7lm4c2gt19779f1mpraaec87et108um8 b3,7 56g",
"Gefällt mirAnzahl": "",
"Anzahl der Aktien": "",
"KommentareAnzahl": "",
"Links": [
{
"Verknüpfung": "https://www.facebook.com/hashtag/nevada?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"text": "#Nevada"
},
{
"Verknüpfung": "https://www.facebook.com/hashtag/music?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"text": "#Musik"
},
{
"Verknüpfung": "https://www.facebook.com/hashtag/withasmile?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"text": „#miteinemLächeln“
},
{
"Verknüpfung": "https://www.facebook.com/hashtag/song?__eep__=6&__cft__[0]=AZWbgQE-_wYwW47AUbqqhzfqC6moiJrxFQs7glnpepq5ibId2fvbkZe1E3UoNwI-Ywj4gaQp3qbQjOMGmNVD1fu4Ofx-uPcDfWPJGhRCtKrHKV1G-rXqg2mxRSzd93AL281FwDSfjERvTMkdWK6bZI_cJC_CxDD63x_K5WycyUe1lnt5kBwyBOdIk4z2jfeFeRCZASbYvSLGQS9eQ4GQh-c2&__tn__=*NK-R",
"text": "#Lied"
}
]
}
// Hinweis: Einige Ergebnisse wurden der Kürze halber weggelassen.
]
}
}
  • Bonusschritt: Der Crawlbase Facebook-Datenscraper beschränkt sich nicht nur auf das Scraping von Hashtag-Seiten. Es unterstützt auch andere Arten von Facebook-Inhalten. Wenn Ihre Zielseite also in eine der folgenden Kategorien fällt, haben Sie Glück:

    • facebook-group
    • facebook-page
    • facebook-profile
    • facebook-event

Sie müssen lediglich zwei Zeilen in Ihrem Skript aktualisieren, damit sie dem Seitentyp entsprechen, den Sie scrapen möchten:

1
2
TARGET_URL = "https://www.facebook.com/hashtag/music"
SCHABER = "Facebook-Hashtag"

Wenn Sie beispielsweise eine private Facebook-Gruppe scrapen möchten, ändern Sie es etwa in:

1
2
TARGET_URL = "https://www.facebook.com/groups/beispielgruppe"
SCHABER = "Facebook-Gruppe"

Tauschen Sie einfach die richtige URL und die entsprechende Bahnschaber Name und Crawlbase wird sich um den Rest kümmern.

Best Practices zum Scraping von Login-geschützten Sites

Beachten Sie beim Scraping von Seiten hinter einem Login, dass es sich um sensible Konten, Sitzungscookies und strengere Sicherheitsregeln handelt. Hier sind einige wichtige Punkte, die Sie beachten sollten.

Verstehen Sie die Servicebedingungen der Site

Bevor Sie Daten von einer Website abrufen, insbesondere von solchen, die sich hinter einem Login verbergen, sollten Sie sich unbedingt mit deren Nutzungsbedingungen vertraut machen. Viele Websites haben strenge Schutzmaßnahmen gegen Bots und Scraping eingerichtet. Das Ignorieren dieser Einschränkungen kann zu Problemen führen. Gehen Sie daher verantwortungsbewusst mit Scraping um.

Wissen, welche Cookies zu verwenden sind

Um auf logingeschützte Seiten zugreifen zu können, müssen Sie die entsprechenden Sitzungscookies mit Ihrer Anfrage senden. Für Facebook zeigen unsere Tests, dass Sie nur die folgenden zwei Cookies benötigen:

  • c_user=[value]
  • xs=[value]

Diese reichen aus, um Ihre Sitzung zu authentifizieren und den eigentlichen Inhalt zu laden.

Wenn Sie jedoch auf anderen Websites testen und nicht sicher sind, welche Cookies erforderlich sind, können Sie einfach alle Cookies aus Ihrer angemeldeten Sitzung an die Crawlbase API. Sie können testen, welche Cookies gesendet werden, indem Sie diese Test-URL verwenden: https://postman-echo.com/cookies

Hier ist ein Beispiel Curl-Anfrage in Postman, das Cookies an die Crawlbase API und ruft die Antwort vom Postman Echo-Testserver ab:

Ein Bild, das die Curl-Anfrage von Postman anzeigt.

Auf diese Weise können Sie bequem überprüfen, ob Ihre Cookies richtig formatiert sind und ordnungsgemäß weitergeleitet werden.

Umgang mit abgelaufenen Cookies

Anmelde-Cookies sind nicht dauerhaft. Mit der Zeit können sie aufgrund von Kontoaktivitäten, Abmeldungen oder Sitzungstimeouts ablaufen oder ungültig werden.

Wenn Sie feststellen, dass Ihr Scraper unerwartet damit begonnen hat, Anmeldeseiten anstelle der erwarteten Daten anzuzeigen, ist dies ein deutliches Anzeichen dafür, dass Ihre Cookies abgelaufen sind und aktualisiert werden müssen.

Folgendes können Sie tun:

  1. Manuell erneut authentifizieren - Melden Sie sich erneut in Ihrem Browser an, laden Sie neue Cookies über DevTools herunter und aktualisieren Sie diese in Ihrem Skript. Stellen Sie sicher, dass Sie Ihre gespeicherten Cookies durch diese neuen ersetzen, um die Sitzungsauthentifizierung aufrechtzuerhalten.

  2. Verwenden Sie eine Browsererweiterung - Diese Cookie-Editor Mit diesem Tool können Sie Ihre aktiven Cookies ganz einfach direkt in Ihrem Browser anzeigen und kopieren.

Cookies automatisch wiederverwenden

Wenn Sie mehrere Anfragen in einem kurzen Zeitraum stellen und die Cookies zwischen ihnen bestehen bleiben sollen, können Sie Crawlbase Cookies SitzungsparameterWeisen Sie einfach einen beliebigen Wert (bis zu 32 Zeichen) zu. Dadurch werden die Sitzungscookies von einer Anfrage zur nächsten verknüpft, sodass Sie dieselbe Sitzung beibehalten und die Authentifizierung mithilfe eines Sitzungsobjekts beibehalten können. Dadurch wird sichergestellt, dass nachfolgende Anfragen dieselbe Authentifizierung verwenden können, ohne dass eine erneute Anmeldung erforderlich ist.

Dies ist besonders praktisch beim Scraping mit mehreren Schritten oder angemeldeten Seiten, bei denen die Konsistenz zwischen den Anforderungen von entscheidender Bedeutung ist, da die Aufrechterhaltung derselben Sitzung authentifizierte Anforderungen über verschiedene Seiten hinweg ermöglicht.

Damit melden Sie sich an für Crawlbase Jetzt können Sie logingeschützte Seiten scrapen. Mit nur einer Plattform können Sie problemlos JavaScript-gerenderte Inhalte verarbeiten, Cookies verwalten und Sitzungen über mehrere Anfragen hinweg aufrechterhalten.

Häufig gestellte Fragen

F1: Tut Crawlbase meine Sitzungscookies speichern?

A. Nein, die über den Cookie-Parameter gesendeten Daten werden nur für die von Ihnen gesendete spezifische Anfrage verwendet. Crawlbase speichert standardmäßig keine Daten auf unserer Seite. Es ist jedoch möglich, die von Ihnen übergebenen Daten zu speichern, wenn Parameter wie store und cookies_session werden verwendet.

F2: Besteht bei der Verwendung von Sitzungscookies zum Scraping die Gefahr einer Kontosperrung?

A. Ja, dies ist insbesondere dann möglich, wenn die Website während Ihrer Sitzung nicht-menschliches Verhalten erkennt. Crawlbase kann die Sicherheit Ihres Kontos nicht garantieren. Wir empfehlen immer die Verwendung eines Dummy-Kontos, wenn Sie unbedingt Daten scrapen müssen, während Sie angemeldet sind.

F3: So handhaben Sie den CSRF-Token-Schutz

A. Zu handhaben CSRF (Cross-Site Request Forgery) Um Token-Schutz in Ihren Web-Scraping-Projekten zu gewährleisten, müssen Sie zunächst das Token von der Anmeldeseite extrahieren. Dazu senden Sie in der Regel eine GET-Anfrage an die Anmelde-URL und analysieren anschließend den zurückgegebenen HTML-Code, um das CSRF-Token zu finden, das oft in einem versteckten Eingabefeld im Formular gespeichert ist. BeautifulSuppe Die Bibliothek ist ein beliebtes Tool zum Parsen von HTML und Extrahieren dieser Token.

Sobald Sie das CSRF-Token gefunden haben, fügen Sie es in die Nutzlast Ihrer Anmeldeinformationen ein, wenn Sie Ihre POST-Anfrage an die Anmelde-URL senden. Einige Websites verwenden möglicherweise mehrere CSRF-Token oder ändern deren Namen häufig. Daher ist es wichtig, die Anmeldeseite sorgfältig zu prüfen und sicherzustellen, dass Sie alle erforderlichen Token erfassen.