Welcome, guest! Login / Register - Why register?
[email protected] webmail now available. Want one? Go here.
Windows getting boring or just want to try something Open Source for your next Desktop Environment?! Go Zorin OS.

Paste

Pasted as Bash by registered user uwe ( 9 years ago )
#!/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/

 

Revise this Paste

Parent: 61516
Your Name: Code Language: