Ich möchte gern Aktienkurse mit dem HTTPMOD aus einer Webseite auslesen.
Dazu habe ich ein HTTPMOD gerät angelegt.
und mit der Webseite "https://www.onvista.de/index/DAX-Index-20735" verknüpft.
Nun möchte ich hier gerne den aktuellen DAX Stand auslesen.
Dazu habe ich das Attribut "reading01Name:DAX" angelegt
Und dann noch das Attribut "reading01Regex: <span class="top-assets__name"> DAX </span>[\S\s\r\n]*?<span class="top-assets__price">\d+">(\d.\d{2})<\/span>"
leider werden nun keine Readings angelegt.
Wo liegt mein fehler?
Richtige Regex:
<span class="top-assets__name"> DAX <\/span>[\S\s\r\n]*?<span class="top-assets__price">.([\d\.,]+)
Performanter mit nur:
DAX <\/span>[\S\s\r\n]*?<span class="top-assets__price">.([\d\.,]+)
(2450 steps statt 10913 - 2x schneller)
Deine Regex kannst Du hier testen: https://regex101.com/
( geht mich ja nix an, aber: Die Seite von Dir ist ja ziemlich mit Werbung übersät. Da gibt's doch sicher weniger zugemüllte Seiten für den DAX )
Viele Grüße
a.) STOCKQUOTES verwenden und
b.) yahoo_json als Quelle, vermeidet den Werbemüll
LG
pah
Yahoo geht doch nicht mehr oder?
https://forum.fhem.de/index.php/topic,33352.0.html
Ich nochmal,
die Antwort von "amenomade" hatte geholfen.
Die Abfrage funktionierte gut.
Nun, seit ca. 3 tagen geht diese Abfrage nicht mehr.
Könnte nochmal Jemand die Syntax überprüfen, ob sich auf den ONVISTA Webseite eventuell etwas geändert hat.
"data-push="20735:last:2:1:Index" steht jetzt zusätzlich vor dem aktuellen Kurs, wie könnte man das auskomentieren?
Danke
- Seite aufrufen. Rechtklick auf der Seite > Quellcode
- Copy Paste auf https://regex101.com/
- Copy Paste der jetzige Regex. Wenn kein Treffer, die Regex nach und nach kürzen, und dann entspr. wieder bauen.
Ja, die Seite hat sich anscheinend geändert. Aber niemand hier wird regelmässig die Regex aktualisieren
Alternativ: Du holst dir die Daten in einem vernünftigen Format und nicht aus einer Webseite.
Z.B. hier als json: https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo
Doku hier: https://www.alphavantage.co/documentation/
EDIT: auf alphavantage ist das "symbol" für DAX ^GDAXI
Also https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=^GDAXI&apikey=DEIN_API_KEY (https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=%5EGDAXI&apikey=DEIN_API_KEY)
Oder https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=^GDAXI&apikey=DEIN_API_KEY (https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=%5EGDAXI&apikey=DEIN_API_KEY)
https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=^GDAXI&apikey=O9D8IE8HBGFI90Y9 (https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=%5EGDAXI&apikey=O9D8IE8HBGFI90Y9)
(random API key)
Okay, die letzte Antwort klingt sehr interesant. Wie baue ich da nun am einfachsten die regex daraus.
Über die Seite "https://regex101.com/" ?
Gibts da neu einfache Anleitung dazu?
Habe ich hier mal als Beispiel mit der SAP Aktie gemacht:
https://forum.fhem.de/index.php/topic,33352.msg1012401.html#msg1012401
(https://forum.fhem.de/index.php/topic,33352.msg1012401.html#msg1012401)
Gruß
Carlos
OK, das hat geholfen.
Aber gibt es irgendwo ne deutsche Erklärung für die Regex101 Seite?
wie finde ich auf alphavantage das Symbol bzw. Kürzel für den S&P 500 heraus?
Nimm doch einfach den "search endpoint" API call aus der doku.
Gruß
Carlos
Leider verstehe ich so garnicht was hier zu tuen ist.
Die Doku sagt mir leider auch nichts. habe zwar den "search endpoint" gefunden aber wie benutzt man das?
Bzw. wo findet man das Suchfeld?
Jetzt aber, so schwer ist das doch nicht, steht doch alles dort beschrieben.
Aber ich kann es dir auch noch mal beschreiben:
Hol dir einen API key nimm das Beispiel das in der Doku steht und setzte bei keywords= deinen Suchbegriff ein.
Gruß
Carlos
Einen API Key habe ich schon ne Weile, brauche ich ja im FHEM auch.
Aber wo gebe ich das ein bzw. wo finde ich das Suchfeld?
Mir fehlt irgendwie der Anfang.
Finde ich das Suchfeld auf der Seite von "alphavantage" oder muss ich das irgenwo im Browser eingeben oder in nem Excel Tool oder wo?
Ja danke für den Hinweis, den API Key habe ich schon länger.
Aber wo genau soll ich das beispiel eingeben bzw. zur Anwendung bringen?
Im Excel, im Browser oder wo?
Mir fehlt da irgendwie der erste Ansatz.
Jetzt schreib ich es noch mal: >:(
Nimm das Beispiel aus der Doku ersetzte das Wort demo mit deinem API key und bei keywords= deinen Suchstring.
Das ganze ist dann eine URL und die gibst du dann in deinem Browser ein.
Gruß
Carlos