#!/bin/bash
pages=39
#tmp
mkdir /tmp/leserservice
cd /tmp/leserservice
# alle
for a in $(seq $pages); do curl -s http://www.leserservice.de/zeitschriften/seite-$a/ | grep '/zeitschriften/[^"]*" name=.*</a>$' | grep -o /zeitschriften/.*htm; done > alle
for z in $(<alle); do u=${z/\/zeitschriften\/}; lynx -dump http://www.leserservice.de/zeitschriften/$u | iconv -f iso-8859-1 > $u; done
# Abo-Count
for i in *.htm; do grep -c abo.*EUR$ $i > $i.count; done
# Auswertung
echo "Zeitschrift;Aboname;Laufzeit;Erscheinungsweise;Preis;Payback;°P Vorteil"
for i in *.htm; do
zeitschrift="$(grep Abolaufzeiten.*Zeitschrift $i | sed 's/^.*Zeitschrift.//')"
erscheinungsweise="$(grep Erscheinungsweise $i | cut -d" " -f5-)"
for c in $(seq $(<$i.count)); do
ab abo.*EUR$ $i | head -n $c | tail -n 1 | sed 's/^ *//' | cut -d" " -f1)"
preis="$(grep abo.*EUR$ $i | head -n $c | tail -n 1 | egrep -o '[0-9,]+ EUR' | sed 's/ EUR//')"
vorteil="$(grep -A 30 ^$aboname $i | egrep '°P' | head -n 1 | egrep -o '[0-9]+')"
laufzeit="$(grep -A 30 ^$aboname $i | egrep 'Laufzeit' | head -n 1 | egrep -o '[0-9]+')"
payback="$(grep -A 30 ^$aboname $i | egrep 'PAYBACK Punkte' | grep [0-9]0 | head -n 1 | egrep -o '[0-9.]+')"
if [ $laufzeit -eq 24 ]; then
preis="$(echo "scale=2;$preis*2" | tr , . | bc | tr . ,)"
fi
echo "$zeitschrift;$aboname;$laufzeit;$erscheinungsweise;$preis;$payback;$vorteil"
done
done
cd /tmp
rm -r leserservice/
Add a code snippet to your website: www.paste.org