Automatische Archivierung yesss Gesprächsprotokolle

Aus NOBAQ
Version vom 2. Mai 2009, 22:05 Uhr von Niki (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Auch wenn es vielleicht nicht wirklich sinnvoll ist, vor allem, weil das Mobiltelephon das Gesprächsprotokoll ja auch speichert habe ich gerade ein Script geschrieben, welches das Gesprächsprotokoll des yesss-Kontomanagers automatisch downloaded und speichert. Wahrscheinlich, weil ich schon wieder zu faul für SigV bin und mich die Scripting-Lust überkommen hat ;-)


Das Script ist sehr gehackt, und verarbeitet die Daten auch nicht. Die Daten werden lediglich abgespeichert "archiviert". Auch auf Redundanzen wird nicht geachtet, um jedoch keine Daten zu verlieren, wird das Script wöchentlich per cron aufgerufen.

#!/bin/bash
 
login=<yess-hdy-nr>pass=<passwort>dest=~/daten/history/yesssmax=50
 
# setting up environment
cd "$dest"
cur=`date '+%Y%m%d'`
mkdir -p "$cur"
cd "$cur"
 
# get session cookie# wget does not save session-cookies with --save-cookies :-(
echo -n "Getting session cookie..."
wget -q -s "https://www.yesss.at/kontomanager.php" -O - | \
	sed -ne '/^Set-Cookie: PHPSESSID=/{s#Set-##i;s#; path=.*##gi;p;}' > cookies.txt
if ! grep 'Cookie: PHPSESSID=' cookies.txt >/dev/null
then
        echo "No session cookie"
        exit 1
fi
echo "OK"
 
# log into system
echo -n "Logging into system..."
wget -q --cookies=off --header "$(cat cookies.txt)" --post-data \
	"rufnummer=$login&passwort=$pass" "https://www.yesss.at/kontomanager.php" -O login.dat
if ! grep '0699.81857275' login.dat >/dev/null
then
        echo "Could not log in"
        exit 2
fi
rm -f login.dat
echo "OK"
 
# not very elegant but just count up to 20
for i in `seq 1 $max`
do
        echo -n "Getting page $i..."
        file=`printf "page%02d.html" $i`
        wget -q --cookies=off --header "$(cat cookies.txt)" \
		"https://www.yesss.at/kontomanager/letzte_gespraeche.php?page=$i" -O "$file"
        if test $? -ne 0
        then
                rm -f "$file"
                echo "failed"
        else
                echo "OK"
        fi
        if ! grep 'class="TabCopyBox"' "$file" >/dev/null
        then
                echo "No data, finished"
                rm -f "$file"
                break
        fi
done
 
# logging out
echo -n "Logging out from yesss..."
wget -q --delete-after --cookies=off --header "$(cat cookies.txt)" "https://www.yesss.at/kontomanager/logout.php"
rm -f cookies.txt
echo "OK"

Kommentare

Diskussion:Automatische Archivierung yesss Gesprächsprotokolle
Meine Werkzeuge