Automatische Archivierung yesss Gesprächsprotokolle: Unterschied zwischen den Versionen
Aus NOBAQ
Zur Navigation springenZur Suche springenNiki (Diskussion | Beiträge) |
Niki (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
− | + | <section begin="head"/> | |
− | + | 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 ;-) | |
+ | <section end="head"/> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <source lang="bash"> | ||
+ | #!/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" | ||
+ | </source> | ||
+ | |||
+ | [[Kategorie:Weblog]] |
Version vom 1. Februar 2008, 16:19 Uhr
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"