WWW Reader bzw. Textparser liefert nur zwei Werte

Ich habe mir dasTankerkönig-Modul installiert und da wir in der Nähe einen Landhandel mit Tankstelle haben, die aber nicht beim Tankerkönig (auch sonst in keiner App) gelistet ist, habe ich versucht die Preise direkt von deren Seite per WWW_Reader/Textparser zu holen.

Das hat für die beiden Benzinsorten auch Super (Wortwitz) funktioniert. Jetzt frage ich mich, wie bekomme ich :

  1. die dritte Hinterkommastelle (9) an den Preis angehangen
  2. das €urozeichen ans Ende des Preises?

Das eigentliche Problem ist aber, daß ich nichts weiter Textparsen kann. Weder den Dieselpreis (okay, nicht wichtig für mich), die Öffnungszeiten (okay, auch nicht so wichtig da eh 24/7 per Karte getankt werden kann) noch die letzte Benzinpreisaktualisierung.

Es kommt im Debug dann ‚Rule: 3 Failed‘

So ‚einfach‘ (Anfänger&DAU) das mit den Benzinpreisen ging - ich bekomme kein einziges Wort mehr ausgelesen.
Weiß einer Rat?

Gruß
Holger

Das wird ein klassisches Problem mit den Umlauten sein. Evtl. sind diese anders kodiert oder sogar als HTML dargestellt. Versuch mal ein anderes Zeichen als z.B. das € oder irgendwelche Umlaute zu verwenden.

paresy

Wie gesagt, ich bekomme momentan nicht eine Zahl oder einen Buchstaben ausgelesen.
Habe jetzt nochmal versucht den Dieselpreis zu holen, nach gleichem Muster wie es bei den Benzinpreisen ja funktioniert.

Funktioniert auch nicht. Was ist da los? :confused:

Hi,

schau dir mal das folgende Extrakt an:

</b><p><b><u>Super</u>: 1,41<span style=„font-size: 10px;“>9</span> €<br>

so kommt das an und die 9 ist etwas weiter hinten :eek:

LG Tom

Hi Tom,

sorry, meinst Du:

Text abscheiden vor deinem Extrakt
Text abschneiden hinter…
Hole Text…
Text ausschneiden…

Weiß nicht genau wie es gemeint ist.

Auf jeden Fall werden die beiden Super Variablen turnusmäßig (wie im www_reader angegeben) aktualisiert.

Alle andern NICHT :frowning:

OK, grad erst gesehen das Du etwas neu im Symcon Land bist :stuck_out_tongue:

Vergiss mal vorerst den Parser / Cutter und reduziere dich auf PHP:

Hier mal ganz Quick & Dirty - dafür aber kurz und reproduzierbar:

$HTML = Sys_GetURLContent("https://www.landhandel-kortlueke.de/de-de/tankstelle");
$Pos1 = stripos($HTML,'</b><p><b><u>Super</u>:');
echo "[".substr($HTML,$Pos1+24,4);

$Pos2 = stripos($HTML,'<span style="font-size: 10px;">');
echo substr($HTML,$Pos2+31,1)."]
";

Sollte sich leicht optimieren lassen - geht schöner, besser, anders … ist aber eh nur Starthilfe gedacht :cool:

Danach kannst du wieder weiter cuttern :smiley: wenn nötig.

LG Tom

Okay, das konnte ich mir noch ganz gut zurechtbiegen für ‚letztes Update‘, ‚Status‘ und ‚Super‘ (mit der dritten Hinterkommastelle und €-Zeichen), Danke Tom!

Aber wie bekomme ich das nun wieder in die entsprechende String-Variabel? Aktuell sieht es so aus:

WebFront (2).png

Gruß
Holger

Hi,

ich muss leider gestehen, dass ich deine Frage / Problem nicht mal im Ansatz verstehe.

Erläutere dies bitte Mal etwas genauer - merci

LG Tom

Ein Bild sagt mehr als 1000 Worte?

Die oberen drei sind die nach deinem Muster ausgeschnittenen Schnipsel, die werden aber erst durch klicken auf den Pfeil angezeigt.
Wie kann man die Werte direkt anzeigen?

Hmmm,

zyklisches Ereignis hinzufügen z.B. stündlich ?

und wenn’s läuft, kannst du via „Objekt bearbeiten“ im Menübaum das Skript „ausblenden“.

PS: der Anhang ist nicht einsehbar.
PPS: packe doch mal das komplett Skript (mittels PHP Code einfügen !) mit hier rein.

LG Tom

Hier nochmal das Bild:

WebFront (3).png

Ich habe kein richtiges Skript, nur die Schnipsel die ich von Deinem Beispiel abgewandelt habe.

Letztes Update:

<?php

$HTML = Sys_GetURLContent("https://www.landhandel-kortlueke.de/de-de/tankstelle");
$Pos1 = stripos($HTML,'€<br></b><br>');
echo "".substr($HTML,$Pos1+15,10);
 
?>

Status:

<?php

$HTML = Sys_GetURLContent("https://www.landhandel-kortlueke.de/de-de/tankstelle");
$Pos1 = stripos($HTML,'Tankkarte</b> können Sie ');
echo "".substr($HTML,$Pos1+26,47)."geöffnet
";
 
?>

Super:

<?php

$HTML = Sys_GetURLContent("https://www.landhandel-kortlueke.de/de-de/tankstelle");
$Pos1 = stripos($HTML,'</b><p><b><u>Super</u>:');
echo "".substr($HTML,$Pos1+24,4);

$Pos2 = stripos($HTML,'<span style="font-size: 10px;">');
echo substr($HTML,$Pos2+31,1)."€
";  
?>

In der Verwaltungskonsole sieht das so aus:

Die oberen drei sind die Skript-Schnipsel, die unteren vier meine Versuche mit dem Textparser.