== LarpWiki2Text == Eigentlich wäre es ja praktisch, ausser dem Backup der Datenbankdateien noch eine Textversion der Seiten "irgendwo rumliegen" zu haben. Könnte man ja mal brauchen. Ich hatte kaum zu Ende gedacht, da lag auch schon ein Shellscript in meinem Homeverzeichnis... Ich bin nicht wirklich stolz drauf, aber es funktioniert. An reinem Text tummeln sich mittlerweile 720 KB (auf 130 Seiten) in diesem Wiki. --TilmannHolst, 18.9.2003 Nein. Läuft nicht unter Windows ;-) Aber auf Wunsch verschickt TilmannHolst gerne die Ergebnisse. :RalfHüls - Sicher? grep, sed, (ba)sh sind jedenfalls kein Problem. Wenn es ein wget gibt, sollte das Skript auch unter Windows laufen. --> http://www.cygwin.com/ ::RalfHüls - Bingo: http://www.cygwin.com/packages/wget/ ::: nochmal RalfHüls - wget war hier bereits installiert. Nachdem ich http_proxy richtig gesetzt hatte, lief das Skript mit meiner Standard-Cygwin-Installation. :RalfHüls - Jetzt fehlt noch ein automagischer Upload, dann kann man bequem die Sachen lokal in seinem Lieblingseditor schreiben ;-) ::Mh. ''Eigentlich'' kann man einen externen Editor für diese Edit-Fenster verwenden. Zumindest mein w3m kann das ;-) Das sollte auch mit IE und Mozilla gehen. Aber wie? --TilmannHolst, 18.9.2003 Zwischenzeitlich hat sich wohl das HTML auf der Indexseite geändert. Ich hab die Gelegenheit der Umzugsvorbereitungen mal dazu genutzt, das Script zu warten. Getestet hab ichs auf Gentoo mit und ohne Inhalt-zu-UTF-8-Konvertierung. -- [[AllanWegan| Allan Wegan]], 2011-12-01 -----
#!/bin/sh
# LarpWiki2Text - Extrahiert eine Liste mit Seiten von der Index-Seite, und läd 
# diese im Raw-Mode runter, speichert die Seiten mit der Endung ".txt"
#
# TilmannHolst, 18.9.2003
# Allan Wegan, 2011-12-02
# + Dateinamen in UTF-8
# + Vorbereitung für Konvertierung der Inhalte in UTF-8
# + Ignoriert jetzt nicht-anzeigbare Seiten mit UTF-8-Namen
# + Schutz vor '/' in Seitennamen (man weiß ja nie...)
#

# Ziel-Encoding hier eintragen, um Inhalte automatisch zu konvertieren:
convertTo=""
#convertTo="UTF-8"

names=$(
  wget -q -O - http://larpwiki.de/cgi-bin/wiki.pl?action=index |
  grep wikipagelink |
  sed -e 's///g;s/<\/a>
//g;s/ /_/g;s/\///g' | grep -v action=editprefs | grep -v ^$ ) url="http://larpwiki.de/cgi-bin/wiki.pl?action=browse&&raw=1&id=" for name in $names; do nameConverted=`echo $name | iconv -f ISO-8859-15 -t UTF-8` if [ `expr match "${nameConverted}" ".*Ã[^a-z. -].*"` != 0 ]; then # Name war bereits UTF-8. Ein par dreckige Hacks im Wiki versuchen # allerdings, Seitennamen in ISO-8859-15 zu wandeln, wenn UTF-8 reinkommt. # Über das normale Editinterface lassen sich daher keine Seiten mit UTF-8 # Namen erstellen. Ein par Spammer scheinen es dennoch geschafft zu haben. # allerdings können die resultierenden Seiten nicht angezeigt werden, weil # das Wiki stattdessen die Seite mit der ISO-8859-15-Version des Namens # anzeigt. # Diese "Geisterseiten", die nur aus bösen Hacks resultieren, werden hier # ignoriert. echo "Ignoring page ${nameConverted} that exists because of wiki's broken Unicode handling." else echo "Retieving page ${nameConverted}." wget -q -O page.tmp "${url}${name}" echo "Storing page ${nameConverted}." if [ "$convertTo" != "" ]; then iconv -f ISO-8859-15 -t "$convertTo" page.tmp > "${nameConverted}.txt" else mv page.tmp "${nameConverted}.txt" fi fi done rm -f page.tmp
---- Für meine täglichen Backups habe ich noch die folgende Zeile drangehängt. --RalfHüls, 24.12.2003
tar jcv --remove-files -f wiki`date +%F`.tar.bz2 *.txt
---- BitteAufräumen
Zurück zu: [[TechnischeDinge| Technische Dinge]]