Deutsche Zope User Group
Gast 1 Benutzer online
DZUG-News

Migration einer Yaho! Mailingliste nach ZOPE

Kurzanleitung und Scripten zum Download

In einem kurzen Abriss soll gezeigt werden, wie das Archiv einer Yaho! Mailingliste in eine ZOPE / Mailboxer Umgebung migriert werden kann. Praktischer Hintergrund war die Zusammenf�hrung der von Sven Kirmess 1999 auf Yaho! gegr�ndeten zope-de Mailingliste und der DZUG Mailingliste unter dem Dach der DZUG. Nach der endg�ltigen L�schung der zope-de sollte das in dem Archiv der Liste angesammelte Wissen weiterhin auf der dzug.org verf�gbar sein. Die Umsetzung erfolgte zum Teil auf dem DZUG OWL Treffen am 18.09.02 (Danke an dieser Stelle auch an Abel Deuring und Sven Guttmann f�r die Anregungen).

Abzug des Yaho! Mailarchives

Zuerst schreibst Du Dir ein kleines Python Script, das alle Yaho! HTML-Seitem runterl�dt und jede HTML-Seite in einer Datei auf der lokalen Platte ablegt - z.B. so: download.py

Nachdem Du das gemacht hast, wirst Du feststellen, dass jede vierte HTML-Seite nur Werbung enth�lt. Yaho! ist n�mlich so freundlich und redirected jede vierte Anfrage auf eine Werbeseite und setzt einen Cookie. Erst mit diesem Cookie kann man sich die Seite mit der Mail anschauen. Der Cookie �ndert sich dummerweise jedes Mal und wird auch nicht in die cookie Datei des Browsers geschrieben. Um das zu umgehen, missbrauchst Du Lynx als eine Art Robot, der selbstst�ndig jede vierte Seite holt und abspeichert.

Wir machen das mit diesem kleinen Script: lynx_robot.py und dem Command Script Zusatz f�r Lynx keylog (beide Dateien mit "rechte Maustaste speichern unter" herunterladen).

Das lynx_robot.py Script generiert bei jedem Durchlauf durch die Schleife eine neue HTML-Seite mit dem Link auf jede vierte HTML-Seite bei Yaho!. Danach ruft das Script Lynx auf und setzt es auf diese generierte URL an. Lynx wird zudem mit der "keylog" Datei gef�ttert (-cmd_script keylog). Diese bewirkt, dass Lynx zun�chst auf die HTML-Seite bei Yaho! marschiert und dort die Werbeseite zu Gesicht bekommt. Das ist diesmal gewollt, denn damit wurde von Yaho! der ben�tigte Cookie gesetzt. Jetzt geht Lynx wieder auf die Urspungsseite zur�ck und l�dt die HTML-Seite direkt herunter. Da der Cookie gesetzt ist, liefert Yaho! diesmal die Seite mit der Mail und nicht die Werbeseite aus. Dieser Vorgang wiederholt sich n mal. Man kann Lynx zusehen, wie es wie von Geiterhand gesteuert durchs Web wandert.

Wer Lust hat, kann auch beide Vorg�nge (download.py) und (lynx_robot.py) in einem Abwasch erledigen. Daf�r muss in der download.py nur bei jeder vierten URL der Code aus der lynx_robot.py aktiviert werden.

Konvertieren der HTML-Seiten ins Mail(boxer)-Format

Jetzt haben wir hoffentlich alle HTML-Seiten von Yaho! geholt und k�nnen mit der eigentlichen Bearbeitung der einzelnen Mails beginnen.

Der Parser convert.py liest nun jede HTML-Datei ein, schneidet nur den HTML-Teil mit der Mail heraus, konvertiert alles in reinen plain/text und nimmt noch die ein oder andere Feinheit vor (Datumsformate etc; siehe Source). Mail-Header und Mail-Body werden dann direkt an die Mailboxerinstanz "test" �bergeben und damit in die ZODB geschoben.

Alternativ kann die Mail z.B. in einen Mailman �berf�hrt oder erneut �ber den MTA abgesetzt werden. Hierf�r m�ssen nur die letzen paar Zeilen Code entsprechend angepasst werden. Ein alternatives Perl Skript gibt's hier (mitgeteilt von Andreas Vallen - ungetestet).

Have fun

maik dot jablonski at uni dash bielefeld dot de
schopen at medienlabor dot de

Geschrieben von mschopen . Letzte �nderung 08.08.2003 02:05.