Benachrichtigungen
Alles löschen

Mit Webscraping Daten von Webseiten auslesen und in Home Assistant nutzen

11 Beiträge
3 Benutzer
0 Reactions
55 Ansichten
Beiträge: 734
 Olli
Admin
Themenstarter
(@olli)
Mitglied
Beigetreten: Vor 10 Jahren
wpf-cross-image

Wenn du dein Smart Home mit Home Assistant betreibst, hast du vielleicht schon einmal darüber nachgedacht, wie du aktuelle Informationen von Webseiten automatisch abrufen und in dein System integrieren kannst – zum Beispiel Spritpreise, Wetterdaten oder Börsenkurse. Die Lösung: Webscraping. In diesem Beitrag zeige ich dir Schritt für Schritt, wie du Webscraping nutzen kannst, um…

Antwort
10 Antworten
4 Antworten
(@matthiasl)
Beigetreten: Vor 6 Tagen

New Member
Beiträge: 2

@olli Hallo Olli, ich konnte das Beispiel von CleverTanken nachvollziehen. Wenn ich jedoch auf der Webseite Aktuelle Klimawerte in Oldenburg (Haarentor) // Universität Oldenburg die aktuellen Werte scrapen möchte, werden mir keine Werte angezeigt. Mein Vergehen war genauso wie du es für CleverTanken gezeigt hast. Was mache ich hier falsch?

Antwort
 Olli
Admin
(@olli)
Beigetreten: Vor 10 Jahren

Mitglied
Beiträge: 734

@matthiasl Ja, das klappt anscheinend in dem Fall nicht so einfach. Was willst du denn haben? Man muss in diesem Fall wohl "td" als Selector nehmen und dann mit dem Index hochzählen, bis zum gewünschten Wert. td und Index 5 bspw. liefert die "Gefühlte Temperatur" in °C.

Antwort
(@matthiasl)
Beigetreten: Vor 6 Tagen

New Member
Beiträge: 2

@olli Hallo Olli, vielen Dank für deine Hilfe. Durch deinen Tip kann ich alle meine gewünschten Daten auslesen. Hast du eine Erklärung warum es hier nicht so funktioniert, wie du es im Youtube-Video vorgestellt hast. Und wie bist du dann vorgegangen, um den Selektor zu bestimmen?

Antwort
 Olli
Admin
(@olli)
Beigetreten: Vor 10 Jahren

Mitglied
Beiträge: 734

@matthiasl Super, das freut mich zu hören!

Ich habe zunächst geschaut, ob man etwas einfacheres, wie eine Überschrift scrapen kann. Da das ging, wusste ich, dass die Seite technisch nichts gegen Scraper unternimmt. Und dann war es letztlich auf meiner Erfahrung mit Scraping basierend, wie man an Daten kommen kann. Es gibt (wie bei Home Assistant) nie nur eine Lösung. Und die mit dem "td" und dem Index schien die einfachste zu sein.

Das Scraping über/mit HA kommt schneller an Grenzen, als dies mit anderen (professionelleren) Tools der Fall ist. Letztlich war der Selector vermutlich für das HA-Scraping zu komplex. Hauptsache, wir haben nun die Daten. Und solltest du mal Hilfe bei noch anderen Daten brauchen, weißt du ja, wo du dich melden kannst 😉

Antwort
Beiträge: 3
(@dho1925)
New Member
Beigetreten: Vor 6 Tagen

Hi Olli,

ich habe durch Zufall dein Video auf Youtube gefunden und mich (trotz fortgeschrittener Uhrzeit)  an die Arbeit gemacht, doch:

Ich versuche auf meine Enpal-Seite zu zugreifen, doch das Problem ist, das die Seite wo es eigentlich immer wieder aktuelle Daten geben sollte, die Information vom Web-Server sofort die Meldung kommt, die Daten könnten veraltet sein.

image

Die bieten aber auch einen "Datacollector an:

Hier kommen die Daten (nach dem man open einen Button gedrückt hat) in das Fenster als XML-Datei

image

Hast du hier zu eine Idee?

Ich könnte die Seite auch mal ins Netz stellen, aber natürlich nur über PN.

Danke 

Dirk

Antwort
5 Antworten
 Olli
Admin
(@olli)
Beigetreten: Vor 10 Jahren

Mitglied
Beiträge: 734

@dho1925 Hi Dirk! Wenn du Enpal-Seite sagst, meinst du dann eine lokale von/über Enpal bereitgestellt Seite oder www.irgendwas-mit-enpal.de?

Das XML ist generell auch eine Möglichkeit die Daten auszulesen, das geht mit HA sicherlich in dem Fall auch. Kannst du die eigentliche XML auch direkt aufrufen über eine URL und bekommst dann die Daten aus dem letzten Screenshot angezeigt?

Antwort
 Olli
Admin
(@olli)
Beigetreten: Vor 10 Jahren

Mitglied
Beiträge: 734

@dho1925 Generell scheint es aber für Enpal auch "fertige" HACS-Integrationen zu geben - hast du dich damit schon beschäftigt?

Antwort
(@dho1925)
Beigetreten: Vor 6 Tagen

New Member
Beiträge: 3

@olli 

1. Bein ich muss erst den Button drücken. Dann wird das Fenster gefüllt.

2. Für Enpal Integration benötigst du eine Freigabe von Enpal. Die bekommt man nur dann wenn man die Anlage gekauft hat. Man könnte ja bei lesenden Zugriff auf die Datenbank die Einstellungen verstellen. Kopf schütteln meinerseits.

Also suche ich nach einer anderen Lösung...

Antwort
(@dho1925)
Beigetreten: Vor 6 Tagen

New Member
Beiträge: 3

Achso, der Webseite ist bei mir lokal. 

Antwort
 Olli
Admin
(@olli)
Beigetreten: Vor 10 Jahren

Mitglied
Beiträge: 734

@dho1925 Also den Button-Klick müsste man eigentlich auch "fingieren" können. Letztlich werden da ja nur Requests an die lokale Seite geschickt woraufhin diese mit dem XML reagiert. Kennst du dich ein klein wenig mit dem Chrome-Webmastertools bspw. aus, um die Requests zu ermitteln?

Antwort