Cookies beim Scraping speichern und wiederverwenden – so klappt’s
Ausgangspunkt
Bei manchen Webseiten reicht es nicht, nur einen guten User-Agent zu setzen. Sie erwarten, dass du beim zweiten Aufruf schon eine Session mit Cookies hast – z. B. um Login-Status, Sprache, Consent oder Captcha-Token zu erkennen. Ohne Cookies gibt’s dann: Weiterleitung, Block oder kaputte Inhalte.
Ziel: Cookies beim ersten Aufruf speichern und bei weiteren Requests wiederverwenden – manuell oder automatisch.
⚙️ Setup mit httpx
Ich nutze httpx
, weil es Session-Handling eingebaut hat. Alternativ geht auch requests.Session
, aber httpx ist performanter.
Cookies automatisch verwalten
import httpx session = httpx.Client() # Erster Request – Cookies werden gespeichert r1 = session.get("https://zielseite.de/") # Zweiter Request – Cookies werden automatisch mitgeschickt r2 = session.get("https://zielseite.de/profil")
Cookies speichern & laden
Manchmal willst du Cookies auch speichern (z. B. nach Login) und später wiederverwenden. Beispiel mit JSON-Datei:
1. Cookies speichern
import json with open("cookies.json", "w") as f: json.dump(session.cookies.jar, f)
2. Cookies laden
with open("cookies.json", "r") as f: cookies = httpx.Cookies(json.load(f)) session = httpx.Client(cookies=cookies)
Wie kommt man an Cookies aus dem Browser?
Wenn du manuell eingeloggt bist und dieselben Cookies im Script brauchst:
- Browser öffnen → F12 → DevTools
- Zum Tab „Application“ wechseln → „Cookies“
- Alle relevanten Cookies kopieren (z. B.
session_id
,auth
,cf_clearance
) - Im Code als Header setzen oder als Cookie-Objekt übergeben
Wann hilft Cookie-Reuse?
- Seiten mit Cookie-basiertem Consent
- Login-Sessions (mit Ablaufzeit!)
- Cloudflare-Pages mit
cf_clearance
- Multistep-Navigation, die Session braucht
⚠️ Was du vermeiden solltest
- Abgelaufene Cookies verwenden → Redirect-Loop
- Cookies von fremden Sessions „klauen“ → klappt nur kurz
- Cookies mit Proxy-IP mischen → passt oft nicht zusammen
Fazit
Cookies sind mehr als nur „Webseiten-Keks“ – sie helfen beim Scraping, die gleiche Session beizubehalten und Blockaden zu umgehen. Wer sie gezielt speichert und wiederverwendet, spart sich viele Probleme mit Logins, Captchas und Umleitungen.
Getestet mit httpx in Python, Stand 04/2025.