Benutzer:Asturius/Software-Wiki/Massenexport/Exportskript

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
#!/bin/bash
# Ausgewählte gelöschte Artikel temporär wiederherstellen,
# exportieren bzw. lokal sichern und erneut löschen.

BASEURL=https://de.wikipedia.org/w/index.php

EXPORTFILE=~/Werkstatt/Software-Wiki/exportieren.txt
EXPORTDIR=~/Werkstatt/Software-Wiki/bereitsexportiert

mkdir -p $EXPORTDIR


# Einloggen
# TODO


# Liste zu exportierender Artikel durchgehen und exportieren
while true
do
    SEITE=`head -n 1 $EXPORTFILE`
    if [ -z "$SEITE" ]
    then
        echo "Datei $EXPORTFILE ist leer."
        break
    fi
    
    SEITE2=`echo "$SEITE" | tr [:blank:] _ | sed 's/&/%26/g' | sed 's/+/%2B/g'`

    # Artikel (temporär) wiederherstellen
    # TODO

    # Existiert der Artikel?
    SEITENINHALT=`curl -s "$BASEURL?title=$SEITE2&action=raw"`
    if [ -n "$SEITENINHALT" ]
        then
            # Artikel existiert, also exportieren.
            echo "Exportiere Artikel $SEITE"
            curl -s -d "&pages=$SEITE2&action=submit" \
            $BASEURL?title=Special:Export > "${EXPORTDIR}/${SEITE}.xml"
            
            # HMTL-Version mit dazu (für einfache Vorschau).
            curl -s "$BASEURL?title=$SEITE2&action=render" > "${EXPORTDIR}/${SEITE}.html"
            echo "<meta charset="UTF-8" />" >> "${EXPORTDIR}/${SEITE}.html"
        else
            echo "Fehler: Artikel $SEITE existiert nicht!"
    fi

    # Artikel wieder löschen
    # TODO

    # Artikel aus Exportliste entfernen
    sed -i '1d' $EXPORTFILE
done