Benzin-Preise mit mrtg anzeigen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Benutzeravatar
Unki
Beiträge: 425
Registriert: 16.02.2003 10:03:38
Wohnort: Essen
Kontaktdaten:

Beitrag von Unki » 26.07.2005 19:34:55

Feine Sache diese Scripte, dickes Dankeschön.
Wie kann ich das jetzt in Munin (MRTG sollte genauso gehen?) einbinden? Kann mich mal jemand in die richtige Richtung schubsen?

Rainer

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Beitrag von 123456 » 26.07.2005 22:58:37

Unki hat geschrieben:Wie kann ich das jetzt in Munin (MRTG sollte genauso gehen?) einbinden? Kann mich mal jemand in die richtige Richtung schubsen?
Schau mal hier:
http://howto.aphroland.org/HOWTO/MRTG/FrontPage

Die Beispielskripte für bsp. Temperature, Humidity oder Stocks solltest Du Dir mal anschauen. Da kannst Du den Mechanismus für MRTG lernen.

Benutzeravatar
Homeless1
Beiträge: 414
Registriert: 02.10.2003 19:34:20
Wohnort: /proc/net/

Beitrag von Homeless1 » 31.07.2005 20:11:21

Hallo zusammen

Ich habe ein wenig experimentiert.
:arrow: Hier das Ergebnis: http://img104.imageshack.us/img104/7205/aral9wg.jpg

Hier das Bash-Script: *removed
Und hier die Zeilen für die mrtg.cfg: *removed


Ich freue mich über euer Feedback.
Ps: Ein kleines Problem hab ich noch Mrtg rundet die Zahlen auf,sprich als Wert erhalte ich 130,9 dann zeigt Mrtg 131 kann man das noch genauer einstellen ?

Mein Dank geht an die Schreiber des Bash-Scriptes

Gruß Homeless1
Zuletzt geändert von Homeless1 am 25.09.2005 14:40:01, insgesamt 1-mal geändert.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 03.08.2005 23:46:24

Homeless1 hat geschrieben:Ps: Ein kleines Problem hab ich noch Mrtg rundet die Zahlen auf,sprich als Wert erhalte ich 130,9 dann zeigt Mrtg 131 kann man das noch genauer einstellen ?
Einfach mit 10 multiplizieren? Mir ist aber bis jetzt auch noch keine Tanke begegnet, die nicht immer 9/10 Cent pro Liter dazuaddiert. Und die werden mit Sicherheit aufrunden.

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 16.09.2005 11:46:14

Hallo Benzin-Preis Beobachter!

Leider muss ich seit ein paar Tagen feststellen, dass das Script die Preise von SHELL nicht mehr darstellen kann. Grund ist wohl, dass SHELL die Preise nicht mehr als einzelne GIF Bildchen zusammenschustert, sondern nun ueber eine ASP Funktion ermittelt und als 1 Bild im Browser darstellt. Lediglich die Nachkommastelle wird noch als separates GIF angehaengt.

Scheint, als sei die Funktionalitaet des Scripts fuer SHELL Tankstellen dahin. Oder kennt da noch jemand eine Moeglichkeit? Mir faellt jedenfalls nichts ein, da der Preis einfach nicht mehr im HTML Source steht sondern lediglich der Aufruf von getImage.asp()

Fuer jegliche Anregungen dankbar.

Gruesse,
QT

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.09.2005 12:08:05

Es gibt das Tool gocr, ein OCR-Programm per Kommandozeile. Wenn ich beispielsweise den Preis von 110 als jpeg runterlade, dann kann man sowas machen (das Programm erkennt die Eins als ein L und die Null als ein grosses O):

Code: Alles auswählen

mistersixt@mars [/tmp] >djpeg getImage.jpeg | gocr - | tr "l" "1" | tr "O" "0"
110
mistersixt@mars [/tmp] >
Gruss, mistersixt
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 12:38:32

Danke Mistersixt! Wieder ein neuer Ansatz. Bin schon dabei das auszuprobieren, nachdem ich erstmal die libjpeg-progs und gocr installiert habe. Nun erhalte ich aber dies hier:

Code: Alles auswählen

$ djpeg getImage.jpg |gocr -
# no boxes found - stopped
Nich wirklich nuetzlich. Mach ich was falsch oder warum kann er mir das nicht anzeigen?

Ich sollte erwaehnen, dass ich das gerade auf einem Woody System probiere, also vermutlich aeltere Versionen der Tools nutze.

EDIT: Ok, nun komme ich etwas weiter. Obige Probleme entstanden wohl durch ein fehlendes Cookie. Habe mir nun das Bild der 131 abgespeichert, aber djpeg und gocr wollen nachwievor nicht so recht:

Code: Alles auswählen

$ file getImage.jpg
getImage.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), 96 x 96
$ djpeg getImage.jpg | gocr -
 l__
Die erste 1 wird noch korrekt als l dargestellt, aber danach lediglich 2 Unterstriche :?:

Gruesse,
QT

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.09.2005 14:10:04

Also unter Debian Sid funktioniert gocr einwandfrei, ich habs gerade nochmal mit 146 probiert, geht wunderbar.

Code: Alles auswählen

mistersixt@mars [/tmp] >djpeg 146.jpeg | gocr - | tr "l" "1" | tr "O" "0"
146
mistersixt@mars [/tmp] >
Ich schaffe es aber nicht, die jpeg's mit wget und Co. runterzuladen, nehmen wir mal diese Seite als Beispiel:

http://www.shell-tankstelle.de/stations ... _id=D25665

Arbeiten wir mal id=dk (Dieselkraftstoff), da wird dieses hier im HTML-Code obiger Seite aufgerufen:

Code: Alles auswählen

http://www.shell-tankstelle.de/stationsfinder/getImage.asp?id=dk
Woher weiss nun getImage.asp, welches JPEG generiert werden soll? Cookies werden nicht gesetzt (zumindest werden bei mir keine angelegt - mit wget geprüft). Wenn ich als Referer obigen Link angebe, bekommt wget zwar ein JPEG in passender Grösse, ist aber komplett weiss, also kein Preis drin:

Code: Alles auswählen

wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050922 Firefox/1.0.7 (Debian package 1.0.7-1)" --referer=http://www.shell-tankstelle.de/stationsfinder/station_details.asp\?site_id=D25665 -O ./test.jpg http://www.shell-tankstelle.de/stationsfinder/getImage.asp\?id=dk
Jemand eine Idee?

Gruss, mistersixt.

PS: Ups, es wird doch ein Cookie gesetzt, hilft aber trotzdem nix, Bild bleibt komplett weiss :( !
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 14:24:51

So, ich bin nun auch ein Schritt weiter und es scheint in der Tat an den alten Versionen in Woody zu liegen. Die gleiche JPEG Datei auf einem Debian SID ergibt das:

Code: Alles auswählen

$ djpeg getImage.jpg |gocr - | tr "l" "1"
131
Prima, Danke Mistersixt! Das Problem haetten wir schonmal. Nun noch das mit den Cookies und wie man alle JPEGs fuer die verschiedenen Stationen sauber runterladen kann...

Gruesse,
QT

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.09.2005 14:51:47

Sodele, ich habs:

Code: Alles auswählen

mars:/tmp# cat dump-shell-preis.sh 
#!/bin/bash

mkdir /tmp/$$
cd  /tmp/$$
wget    -q                                      \
        -p                                      \
        -x                                      \
        --keep-session-cookies                  \
        --save-cookies wget-cookies.txt         \
        http://www.shell-tankstelle.de/stationsfinder/station_details.asp\?site_id=D25665

djpeg www.shell-tankstelle.de/stationsfinder/getImage.asp\?id=dk | gocr - | tr "l" "1" | tr "O" "0"

cd
rm -rf /tmp/$$

mars:/tmp# ./dump-shell-preis.sh 
110
mars:/tmp#
gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 14:56:56

Supi Mistersixt! Du bist der Held :-)

Mit --save-cookies und --load-cookies hab ich auch schon probiert, aber ich hatte halt --keep-session-cookies nicht genutzt und daher nachwievor eine leere Datei erhalten :roll:

So, nun haben wir ja wieder einen Ansatz. Prima!

Jetzt muss nur wieder das Originalscript umgeschrieben werden, so dass man mehrere Stationen in einem Rutsch abklappern und auslesen kann. Mal schauen, ob ich dafuer ne gute Idee finde. Zumal ja auch noch der Betrag hinterm Komma dazukommen muss. Also ein wenig Bastelarbeit besteht noch :-)

Leider hab ich jetzt nicht direkt Zeit, mir darueber Gedanken zu machen. Sollte ich aber etwas fertiges zusammen haben, dann melde ich mich hier nochmal und setze das Script dann wieder ins nopaste.

Solltest Du vorher schon was zusammenbauen, freue ich mich natuerlich ueber einen nopaste Link :D

Gruesse,
Achim

PS: Waere es mit der nun neu gefundenen Loesung nicht auch doch moeglich, weitere Firmen mit einzubeziehen? Kann mich nicht mehr genau erinnern, warum das bei einigen nicht klappte.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.09.2005 15:25:19

Code: Alles auswählen

#!/bin/sh
mkdir /tmp/$$

cd /tmp/$$
SHELLTANKEN="Hofheim-am-Taunus=D25663 Floersheim=D00307 Hochheim-am-Main=D25665 Mainz-Kastel=D01522 A3-Medenbach=D25637 WI-Aeppelallee=D25422"

for TANKE in ${SHELLTANKEN}
do
        ID=`echo ${TANKE} | sed -e 's/\(.*\)\(=.*\)/\2/'`
        NAME=`echo ${TANKE} | sed -e 's/\(.*\)\(=.*\)/\1/'`
        mkdir $$
        cd $$
        wget    -q                                      \
                -p                                      \
                -x                                      \
                --keep-session-cookies                  \
                --save-cookies wget-cookies.txt         \
                http://www.shell-tankstelle.de/stationsfinder/station_details.asp\?site_id${ID}
        PRICE=`djpeg www.shell-tankstelle.de/stationsfinder/getImage.asp\?id=dk | gocr - | tr "l" "1" | tr "O" "0" `
        echo -n "Shell ${NAME}"
        echo -ne "\t: "
        echo "${PRICE}.9"
        cd ..
        rm -rf $$
done


cd $HOME
rm -rf /tmp/$$

echo
echo -n "Letzte Aktualisierung : "
date +"%d.%m.%Y %H:%M:%S"
Der Output sieht dann so aus:

Code: Alles auswählen

mistersixt@rakete:/tmp$ ./test.sh 
Shell Hofheim-am-Taunus : 108.9
Shell Floersheim        : 108.9
Shell Hochheim-am-Main  : 110.9
Shell Mainz-Kastel      : 108.9
Shell A3-Medenbach      : 116.9
Shell WI-Aeppelallee    : 109.9

Letzte Aktualisierung : 27.09.2005 15:23:40
mistersixt@rakete:/tmp$
Die Nachkommastelle rauszugrabbeln hatte ich jetzt keinen Bock, habe jetzt einfach mal die .9 drangehängt.

Jet hat dieses vermurkste Captcha, wo ein Text als ein Bild verunstaltet wird, man diesen aber eintippen muss, um auf die entsprechenden Seiten zu kommen. Bei Gelegenheit mache ich mich nochmal da dran.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 16:07:50

So, nun werde ich wohl bestraft, dass ich mein SID schon seit Monaten nicht mehr erneuert habe. Die wget Version 1.9.1, die ich noch installiert habe, kennt leider die Option --keep-session-cookies nicht und wenn ich wget updaten will, soll natuerlich gleich eine neue glibc mitinstalliert werden :roll:

Ich nehme an, Du nutzt schon die neue 1.10.1 Version von wget. Richtig?

Gruesse,
Achim

PS: Wow, mein 1000. Posting hier :D

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.09.2005 16:48:56

Trag temporär unstable in /etc/apt/sources.list ein. Mach "apt-get update" und dann "apt-get install wget". Die glibc kannst Du ruhig mitinstallieren lassen, die ist abwärtskompatibel. Nach der Installation von wget einfach wieder die sources.list auf stable setzen und nochmal "apt-get update" machen, fertig.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 27.09.2005 17:14:15

ich würde nur die deb-src Zeile eintragen und wget selbst backen.

Über apt-get build-dep wget bekommst du die Abhängigkeiten gelöst. Ich hab mir auch mal bei nem woody/sid Mischmasch zwei glibcs eingehandelt und nur Ärger gehabt.

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 17:28:47

Ok, Danke ihr beiden. Ich hab es so gemacht, wie Mistersixt sagte, da es sich bei diesem System ja wie geschrieben eh um SID handelte und solange der Rest der Installation mit der neuen libc6 tut, soll mir das Recht sein ;-)

Nachdem wget nun in der 1.10.1 Version installiert ist, laeuft auch alles wunderbar. Danke.

Gruesse,
QT

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 20:31:17

mistersixt hat geschrieben:Die Nachkommastelle rauszugrabbeln hatte ich jetzt keinen Bock, habe jetzt einfach mal die .9 drangehängt.
Dem und der Ermittlung der Super Bleifrei Preise hab ich mich nun angenommen 8)

Code: Alles auswählen

#!/bin/sh
mkdir /tmp/$$

cd /tmp/$$
SHELLTANKEN="Hofheim-am-Taunus=D25663 Floersheim=D00307 Hochheim-am-Main=D25665 Mainz-Kastel=D01522 A3-Medenbach=D25637 WI-Aeppelallee=D25422"

for TANKE in ${SHELLTANKEN}
do
        ID=`echo ${TANKE} | sed -e 's/\(.*\)\(=.*\)/\2/'`
        NAME=`echo ${TANKE} | sed -e 's/\(.*\)\(=.*\)/\1/'`
        mkdir $$
        cd $$
        wget -q -p -x --keep-session-cookies --save-cookies wget-cookies.txt\
                http://www.shell-tankstelle.de/stationsfinder/station_details.asp\?site_id${ID}
        PRICE=`djpeg www.shell-tankstelle.de/stationsfinder/getImage.asp\?id=bs | gocr - | tr "l" "1" | tr "O" "0" `
        DOTNUM=`grep -a -A1 "\=bs" www.shell-tankstelle.de/stationsfinder/station_details.asp?site_id${ID} | tail -1 | sed 's/\(.*art\/0\)\([0-9]\)\(.*\)/\2/g'`
        echo -n "Shell $NAME"
        echo -ne "\t: "
        echo "${PRICE}.${DOTNUM}"
        cd ..
        rm -rf $$
done


cd $HOME
rm -rf /tmp/$$

echo
echo -n "Letzte Aktualisierung : "
date +"%d.%m.%Y %H:%M:%S"
Output dann aktuell wie folgt:

Code: Alles auswählen

$ ./dump-shell-preis.sh
Shell Hofheim-am-Taunus : 133.9
Shell Floersheim        : 133.9
Shell Hochheim-am-Main  : 134.9
Shell Mainz-Kastel      : 133.9
Shell A3-Medenbach      : 141.4
Shell WI-Aeppelallee    : 133.9

Letzte Aktualisierung : 27.09.2005 20:26:51
So, nun muss alles nochmal in ein Script verhackstückt werden und die Sortierung muss dann nochmal folgen. Wird wohl nicht lange dauern :D

Einziger Wermutstropfen nun: Es wird nicht mehr auf meinem Woody 24x7 System laufen können, da es die Pakete aus Sarge bzw. Unstable benötigt. Mal sehen, ob ich da noch was machen kann :-)

Grüße,
QT

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 27.09.2005 20:55:13

Sagte ja, das wird nicht lange dauern 8)

Der neue Output

Code: Alles auswählen

Vergleich von Super-Preisen von ausgewählten Tankstellen:

Aral Floersheim         : 133.9
Aral Koeln-Caecilien    : 133.9
Aral Mainz-Rheinallee   : 133.9
Aral WI-A66-Erbenheim   : 133.9
Aral WI-Bahnhofsplatz   : 133.9
Shell Floersheim        : 133.9
Shell Hofheim-am-Taunus : 133.9
Shell Mainz-Kastel      : 133.9
Shell WI-Aeppelallee    : 133.9
Aral FFM-Hombuger-Land  : 134.9
Aral Mainz-Kastel       : 134.9
Aral WI-Biebr-Allee     : 134.9
Shell Hochheim-am-Main  : 134.9
Aral FFM-Niederrad      : 136.9
BP FFM-Siemensstr       : 136.9
Shell A3-Medenbach      : 141.4

Letzte Aktualisierung : 27.09.2005 20:44:21
Die neue Version des Scripts hab ich ins nopaste geladen:

http://nopaste.debianforum.de/get/1203

Das Script erfordert nun die folgende Software auf dem System:

- wget >= 1.10.1
- gocr >= 0.39-5
- djpeg >= 6b-10 (aus libjpeg-progs Paket)

Grüße,
QT

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 28.09.2005 11:45:24

fein!

Für sarge
Ich hab mal eben einen sarge Backport für wget gebaut, er ist hier zu finden: http://193.151.7.170/sarge_backports/wg ... 1_i386.deb

Die anderen beiden Programme sind ja sarge-Versionen.

Für woody
auch hier habe ich einen backport für wget und für die libjpeg-progs gebaut:
(die anderen Programme im Ordner sind aus unerfüllbaren dependencies entstanden - sind also auch aus sid)
http://193.151.7.170/woody_backports

Lediglich gocr habe ich nicht aus sid nehmen können, weil mir gra ddie Zeit fehlt. Da sind noch mindestens 2 weitere backports (libtiff4-dev und libnetpbm10-dev) zu bauen. Ob es noch weitere Abhängigkeiten gibt, habe ich nicht überprüft.
Ich denke mal da findet sich schon jemand, oder?!

Die woody Programme habe ich nicht weiter getestet, da ich nur eine woody-build-Umgebung habe, ich arbeite nicht mehr mit woody.

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 28.09.2005 11:58:21

Prima Thorsten! Super! Vielen Dank fuer die Woody Backports! Habe alle soweit installiert, aber es scheitert derzeit noch am gocr, welches einfach den Inhalt der Bilder nicht richtig erkennen kann. Keine Ahnung, was das genau ist, aber wir wissen ja, dass es mit einer neueren gocr Version laeuft.

Vielleicht hast Du ja in naher Zukunft auch Zeit und Muse hierfuer einen Backport zu machen. Waere super und Du haettest mindestens einen sehr gluecklichen User dafuer :-)

Gruesse,
QT

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 28.09.2005 12:31:03

Ok, weil du das Script so schön erweitert hast, habe ich dir auch ein gocr 0.40 PAket gebaut.
allerdings habe ich es aus den sf.net sourcen gebaut und auch am ./Configure Aufruf nicht viel geändert.

Wenn es nicht läuft, hol dir nochmal das 0.40.tgz von jocr.sf.net und bau dir das ggfls. mit einem anderen configure Parameter selbst neu.

# ./configure --deine-optionen
# make
# checkinstall

Checkinstall und installwatch habe ich dir dafür eben auch nochmal aus sarge zurück portiert - liegt alles im o.g. Ordner.

Sag bitte ob es funktioniert :)
Thorsten

Benutzeravatar
McAldo
Moderator
Beiträge: 2064
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Beitrag von McAldo » 28.09.2005 15:23:24

Das Script ist nicht schlecht. :)

Gibts ne Möglichkeit das um andere Tankstellen zu erweitern?
(Jet, Elf, Total, Esso, ...)


McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 28.09.2005 16:07:07

Siehe Thread, leider nicht bzw. nur mit riesigen Hürden. Esso, Agip und Oil! bieten es wohl gar nicht an, Jet macht das nur mit Captcha-Sicherung und Shockwave, automatisiert ist das sehr komplex. Daher bleiben erstmal nur Shell, Aral und BP.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 28.09.2005 20:50:55

Danke Torsten! Hast bei Gelegenheit ein Bier gut bei mir. Mindestens! :-)

Es scheint soweit zu funktionieren. Nur aus irgendeinem Grund erscheint bei mir fuer eine Station ein 'S' im Preis. Hier muss man vermutlich das Script entsprechend anpassen, um diesen Fehler dann auch nochmal auszugleichen. Ich denke, gocr erkennt die 5 nicht korrekt und schreibt daher ein S. Das übliche halt....

Das hier ist nun der Output bei mir auf einem Woody System:

Code: Alles auswählen

Vergleich von Super-Preisen von ausgewählten Tankstellen:

Shell Mainz-Kastel      : 131.9
Aral Mainz-Kastel       : 132.9
Aral FFM-Hombuger-Land  : 133.9
Aral Floersheim         : 133.9
Aral Koeln-Caecilien    : 133.9
Aral Mainz-Rheinallee   : 133.9
Aral WI-A66-Erbenheim   : 133.9
Aral WI-Bahnhofsplatz   : 133.9
Aral WI-Biebr-Allee     : 133.9
Shell Floersheim        : 133.9
Shell Hofheim-am-Taunus : 133.9
Shell WI-Aeppelallee    : 133.9
Shell Hochheim-am-Main  : 134.9
Aral FFM-Niederrad      : 136.9
BP FFM-Siemensstr       : 136.9
Shell A3-Medenbach      : 13S.4

Letzte Aktualisierung : 28.09.2005 20:47:41
EDIT: Hab das Script nun angepasst. In der Zeile mit djpeg muss man am Ende noch ein 'tr "S" "5"' anhängen. Die Zeile sieht dann so aus:

Code: Alles auswählen

PRICE=`djpeg www.shell-tankstelle.de/stationsfinder/getImage.asp\?id=bs | gocr - | tr "l" "1" | tr "O" "0" | tr "S" "5" `
Doofe Frage, aber muss man 'tr' wirklich 3mal aufrufen? Geht das nicht in einem Rutsch irgendwie?

Gruesse,
Achim

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 29.09.2005 08:37:38

Hi Achim,
die Backports sind gern geschehen, der Aufwand war hier nicht allzu groß :)

Du könntest die trs durch einen sed Aufruf austauschen aber so richtig groß ist der Laufzeitunterschied auch nicht:

Code: Alles auswählen

$time echo "lOS"| sed -e 's/O/0/g' -e 's/l/1/g' -e 's/S/5/g'
105

real    0m0.002s
user    0m0.000s
sys     0m0.000s

$ time echo "lOS" | tr "l" "1" | tr "O" "0" | tr "S" "5"
105

real    0m0.003s
user    0m0.000s
sys     0m0.000s
Aber tr kennt die Option -s bzw --squeeze-repeats. Das macht genau das gewünschte:

Code: Alles auswählen

$ time echo "lOS" | tr -s "OSl" "051"
105

real    0m0.001s
user    0m0.000s
sys     0m0.000s
Schön wäre es, wenn man den gocr trainieren könnte. Denn durch diese Patzer ist er nur für so einfache Dinge zu gebrauchen.

P.S. Auf das Getränk komme ich bei Gelegenheit zurück :mrgreen:

Antworten