Benutzer:Asturius/SLA-Review/Skripte/slahunter
Zur Navigation springen
Zur Suche springen
#!/bin/bash
# Aktuelle Schnelllöschkandidaten alle 60 Sekunden temporär sichern
BACKUPDIR=~/SLA-Jagd/tempbackup
TEMPFILE=~/SLA-Jagd/sla.tmp
# Firefox starten
#~ firefox -new-window "https://de.wikipedia.org/wiki/Kategorie:Wikipedia:Schnelll%C3%B6schen" &
# Temporäre Dateien leeren
echo > "$TEMPFILE"
# Endlosschleife
while true
do
# Artikel mit SLA heraussuchen
curl -s "https://de.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Kategorie:Wikipedia:Schnelll%C3%B6schen&cmnamespace=0&cmtype=page&cmprop=title&format=txt" | grep '\[title\]' | cut -c40- | sed 's|/|%2F|g' > $TEMPFILE
# Artikel sichern
cat $TEMPFILE | while read SEITE
do
# Alles erstmal temporär abspeichern
SEITE2=`echo "$SEITE" | tr [:blank:] _ | sed 's/&/%26/g' | sed 's/+/%2B/g'`
curl -s "https://de.wikipedia.org/w/index.php?title=$SEITE2&action=render" > "${BACKUPDIR}/tmp.html"
# Weiterleitungen ignorieren
if ``grep -q -i "<li>WEITERLEITUNG" "${BACKUPDIR}/tmp.html"``
then
rm "${BACKUPDIR}/tmp.html"
continue
fi
if ``grep -q -i "<li>redirect" "${BACKUPDIR}/tmp.html"``
then
rm "${BACKUPDIR}/tmp.html"
continue
fi
# Verhindern, dass bereits gesicherte Seiten mit dem "Inhalt" gerade gelöschter Seiten überschrieben werden.
if ``grep -q "Diese Seite wurde gelöscht. Zur Information folgt das Lösch- und Verschiebungs-Logbuch dieser Seite." "${BACKUPDIR}/tmp.html"``
then
rm "${BACKUPDIR}/tmp.html"
continue
fi
# Hinweis nur dann, wenn der Artikel das erste Mal auftaucht
if [ ! -s "${BACKUPDIR}/${SEITE}.html" ]
then
echo
echo "${SEITE}"
fi
# Temporäre Sicherung an die richtige Stelle verschieben
mv "${BACKUPDIR}/tmp.html" "${BACKUPDIR}/${SEITE}.html"
echo "<meta charset="UTF-8" />" >> "${BACKUPDIR}/${SEITE}.html"
done;
# Hinweis auf erfolgten Schleifendurchlauf und 60 Sekunden warten
echo -n "."
sleep 60
done