NEWS
Einlesen von Aktienkursen
-
Hallo,
ich würde gerne aus der Seite https://www.finanzen.net/aktien/lufthansa-aktie
die drei Werte (fett dargestellt)
title="Aktueller Kurs: 6,01
class="col-xs-4 col-sm-3 text-sm-right text-nowrap text-center red">-0,13
class="col-xs-3 col-sm-3 text-right text-nowrap red">-2,05
auslesen.Was muss ich hier bei meinem Parser Adapter bei RegEx und Num einstellen?
-
wenn du jetzt noch sagst, welche werte du damit meinst.
du weißt, die seite verändert sich dynamisch?
das erste müsste der kurs sein
das zweite die veränderung.
aber das dritte? -
@oliverio
na klar mache ichDie ersten 2 sind wie du bereits vermutest der Kurs und die Veränderung. Beides wird auf der Seite in Euro angezeigt. Der dritte Wert ist die Veränderung in Prozent.
-
@olli_m Hallo Olli, versuchs mal mit dem Beispiel von mir. Du musst da dann natürlich deine Daten eintragen.
Gruß Bulli. -
erster wert
<div class="col-xs-5 col-sm-4 text-sm-right text-nowrap">([\d,-]*)<span>EUR</span></div>zweiter wert
<div class="col-xs-4 col-sm-3 text-sm-right text-nowrap text-center red">([\d,-]*)<span>EUR</span></div>dritter wert
<div class="col-xs-3 col-sm-3 text-right text-nowrap red">([\d,-]*)<span>%</span></div>meine vorgehensweise:
- seite im browser aufrufen
- dann rechte maustaste auf seite und seitenquelltext kopieren
- dann auf https://regex101.com/ gehen
- seitenquelltext bei teststring einfügen
- entsprechende stelle im html code finden, ggfs im feld regex string genau den gesuchten wert eingeben und rechts bei match zu dem/einen der fundstellen springen
- dann html vor und nach dem wert untersuchen und ein möglichst kurzen teil kopieren, der aber lang genug ist um im ganzen html-text eindeutig ist (ohne den wert) im obigen beispiel hat es gereicht einfach den inhalt des jeweiligen div-elements zu kopieren
- den kopierten teil in das feld regex string einfügen
- falls rot markierte fehler angezeigt werden, diese korrigieren. meist sind es illegale zeichen, die meist mit \ escaped werden müssen. hier sind die / der Ende tags, die escaped werden müssen. daher aus / wird \/
- im regexstring eine klammer um den gesuchten wert schreiben. Eine Klammer signalisiert den Bereich, den man als Parameter zurückbekommen möchte.
- die Zeichen innerhalb der klammer untersuchen und in zeichenklassen aufteilen. in regex gibt es diverse Abkürzungen dafür. hier wurde \d verwendet, für alle Zahlzeichen , also 0-9), weiterhin kann hier noch ein Minuszeichen vorkommen und das Dezimal Komma. Alle diese werte können 0 bis unendlich male vorkommen, daher ein * als Multiplikator
[\d,-]*
Dies bedeutet: Alle Zeichen, die innerhalb der eckigen Klammer vorkommen, dürfen 0-unendlich male vorkommen. Sobald ein Zeichen kommt was nicht hier reinpasst, ist der match für diese Klammer beendet und es geht weiter nach der Klammer. Diese Erklärung steht ebenfalls bei Regex101 (rechts oben), Die Erklärung für die Tokens (bspw \d) steht rechts unten.
Dann hoffen wir mal, das die keine Seitendynamik haben, welche verhindern soll, das Werte aus den Seiten geparsed werden können. Das verändert den Seitenaufbau immer leicht, so das ein einheitliches Regex immer fehlschlägt
-
@oliverio said in Einlesen von Aktienkursen:
meine vorgehensweise:
....Super Beschreibung!!!! Habe es gleich ausprobiert und konnte es auch in regex nachvollziehen
Danke dir dafür!!!
-
Hi!
Habe Dein Blockly importiert aber leider zu dumm, um nun meine Aktie dort einzutragen.
Wo genau schreibe ich die ISIN Nummer rein?
Danke
Liebe Grüße
Jürgen -
@Flexer
Habs gefunden! -
gibts eine Möglichkeit die DP der Aktienkurse/Werte per Telegramm zu schicken?
VG
Olli -
Hallo zusammen,
hab jetzt mal ein Blockly gebastelt:Aber bei Telegramm kommt nur der Kurs an den Namen lässt er weg.
Wie vearbeitet ihr denn die DP? Wo lasst ihr Euch das anzeigen oder zuschicken?
VG
-
@olli_m ich sehe da jetzt auch kein Problem bei dir. Grundsätzlich mache ich es auf die folgende Weise. Kannst ja mal testen, ob das einen Unterschied macht:
Ausgabe:
Hier kommen dieWert32.6und64
Muss man nur schicker machen mit Abständen einbauen und Einheiten, aber Werte stimmen schon mal. Bei mir läuft telegram Version 1.13.0.
-
Hey,
okay läuft langsam auch bei mir
Schade dass ich keinen DP habe der mir den Eröffnungswert ausgibt dass ich dann vergleichen kann.
VG
-
Gibts auch eine Möglichkeit noch den Schlusskurs und Eröffnungskurs einzubauen?
Dann könnte man das schön vergleichen
LG
-
Hey Leute,
kann mir einer sagen, was ich da falsch mache?
Ich möchte den Wert "class="mleft-10">8,05 <span>EUR<" auslesen.
Viele Grüße.
-
@stefan-w sagte in Einlesen von Aktienkursen:
class="mleft-10">8,05
diverse fehler
deins: <div mleft-10">(\d*,\d*)<span>EUR meins: <span class="mleft-10">(\d*,\d*) <span>EUR besser: <span class="mleft-10">(\d+,\d+) <span>EUR
die beste vorgehensweise ist:
- genau den zu suchenden text aus dem test text in die expression zeile kopieren
- evtl excapezeichen korrigieren (wird als fehler rot markiert)
- dann stück für stück die individuellen anteile mit den metasequenzen ersetzen (bspw text vor dem , mit \d+
- am schluss dann um den teil eine klammer drum rum, die man als Ergebnis haben will
besser ist es für zahlen als quantifier das + zu verwenden, da dies bedeutet, das hier zwischen 1 und unendlich werte vorkommen können. ich denke weder vor dem komma noch nach dem komma darf nie keine zahl stehen.
-
Vielen Dank für deine Antwort.
Im Parser aktualisiert sich der Wert nicht, hab ich da noch etwas falsch eingestellt?
-
bei mir funktionierts
-
-
@flexer
Hi gibts bzw. hast du da nochmal ein update gemacht?Aktuell hab ich eine ISIN eingetragen er aktualisiert aber nicht
-
@olli_m Hi Olli, mit dem Aktien Thema hab ich mich gar nicht mehr beschäftigt. Ich kann mir das die Tage aber nochmal anschauen. Lief das die ganze Zeit ohne Probleme? Kommen jetzt keine Daten mehr?