http Abfrage mit Xpath generieren
-
- Beiträge: 30
- Registriert: 29. Sep 2019 11:21
http Abfrage mit Xpath generieren
Hallo ich möchte gerne den aktuellen Rücknahmepreis einer Wertanlage täglich auslesen. Die Rule für täglich auszulesen ist kein Problem nur hänge ich bei der Abfrage selbst fest. Grundsätzlich denke ich das ich über eine http anfrage die in Kombination mit Xpath lösen sollte. Kann mir dort jemand ein Denkanstoss geben.
Hier die Seite
https://www.deka.de/privatkunden/fondsp ... 0008474511
Ich möchte den aktuellen Rücklesepreis auslesen. Der steht im HTML Code unter dem XPATH dort /html/body/div[1]/div[3]/div[1]/div/div/div[2]/div/div/div[1]/div[2]/div/div/text()
Wie bekomme ich nun den Text dort ausgelesen ?
Per HTTP Bindung hab ich die Seite einmal in den Cache abgelegt
Bank.url=https://www.deka.de/privatkunden/fondsp ... 0008474511
Bank.updateInterval=5000
Danke für eure Tips
Hier die Seite
https://www.deka.de/privatkunden/fondsp ... 0008474511
Ich möchte den aktuellen Rücklesepreis auslesen. Der steht im HTML Code unter dem XPATH dort /html/body/div[1]/div[3]/div[1]/div/div/div[2]/div/div/div[1]/div[2]/div/div/text()
Wie bekomme ich nun den Text dort ausgelesen ?
Per HTTP Bindung hab ich die Seite einmal in den Cache abgelegt
Bank.url=https://www.deka.de/privatkunden/fondsp ... 0008474511
Bank.updateInterval=5000
Danke für eure Tips
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: http Abfrage mit Xpath generieren
Ich glaube nicht, dass Du XPath dafür missbrauchen kannst, XPath setzt ein gültiges XML Dokument voraus.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 30
- Registriert: 29. Sep 2019 11:21
Re: http Abfrage mit Xpath generieren
oh ok danke für das Feedback. Siehst du sonst eine Chance die daten in der HTML Datei auszulesen
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: http Abfrage mit Xpath generieren
Eigentlich sollte das mit REGEX ganz gut gehen. z.B. so:
Code: Alles auswählen
REGEX(.*Ausgabepreis</span>.*<div class=.item-detail.>[ \t]*(.*) EUR.*)
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 13
- Registriert: 23. Mär 2020 21:49
Re: http Abfrage mit Xpath generieren
So gehts ganz einfach:
Müsste auf anhieb funktionieren 
Code: Alles auswählen
Items:
Number deka "Deka[%s €]" <line>
Rules:
rule "Deka"
when Time cron "0 0/1 * * * ?"
then val String deka_data = sendHttpGetRequest("https://www.tradegate.de/refresh.php?isin=DE0008474511")
var String deka_price = transform("JSONPATH", ".['bid']", deka_data)
deka.postUpdate(Float::parseFloat(String::format("%s",deka_price).replace(',','.')))
end

- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: http Abfrage mit Xpath generieren
Allerdings ist das eine andere Website
aber vermutlich wird die Datenbasis auch passen. Ohne Frage ist ein gültiges JSON Objekt (oder alternativ auch XML...) zu bevorzugen, wenn es zur Verfügung steht.

openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 13
- Registriert: 23. Mär 2020 21:49
Re: http Abfrage mit Xpath generieren
Ja genau, die Quelle ist in diesem Fall Tradegate. Dort kann man jedoch so ziemlich alle Kurse abfragen. Wahrscheinlich bekommt man sogar aktuellere Werte als bei Deka. Hab in Erinnerung, dass die eh nur gegen 12 Uhr die Kurse einmal am Tag aktualisieren 

- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: http Abfrage mit Xpath generieren
Womit mal wieder bewiesen wäre, dass eine gute Lösung eines Problems manchmal schon vor der ursprünglichen Aufgabenstellung ansetzen muss. 

openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet