Statische Kopie einer (Drupal-) Seite nach dem Login speichern

Mithilfe von "wget" lassen sich wunderbar statische Kopien einer Webseite erstellen. Problematisch wird es, wenn man an Inhalten interessiert ist, die erst durch einen Login und ein damit verbundenes Session-Cookie zugänglich werden.

wget kann grundsätzlich mit diesen Session-Cookies umgehen. Die einfachste Möglicht ist, sich mit Firefox an der betreffenden Seite anzumelden, das Session-Cookie zu exportieren und dann wget unter Verwendung dieses Session-Cookies die Seite zu speichern.

Wenn man dabei mehrere über Drupal generierte Seiten crawlen möchte (mirror), ist es wichtig, das wget nicht dem logout-Link folgt. Das verhindert die Option "-R logout".

Die einzelnen Schritte:

  1. Firefox-Add-On Export Cookies installieren.
  2. Mit Firefox auf der gewünschten Seite einloggen.
  3. Die Cookies in Datei cookies.txt exportieren.
  4. Eine statische Kopie mit wget speichern, z.B.:

    wget -np -p -k -m --cookies=on --load-cookies=cookies.txt --keep-session-cookies --save-cookies=cookies.txt -R logout http://DEINE.DOMAIN.DE/STARTVERZEICHNIS

Die einzelnen Optionen von wget sollten dabei aber auf die eigenen Bedürfnisse angepasst werden, sonst landen sehr schnell Gigabytes an Daten auf der eigenen Platte.