Mit Webscraping Daten von Webseiten auslesen und in Home Assistant nutzen

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 Daten von Webseiten auszulesen und sie in Home Assistant als Sensoren verfรผgbar zu machen. Keine Sorge, du brauchst dafรผr keine Programmierkenntnisse โ€“ ich erklรคre dir alles verstรคndlich und praxisnah.

Zu faul das hier zu lesen? Hier findest du den Beitrag auch als Video auf YouTube:

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltflรคche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen
(fast) ALLE Daten von Webseiten in Home Assistant nutzen

Was ist Webscraping รผberhaupt?

Webscraping (auch โ€žScrapenโ€œ genannt) bedeutet, dass ein Programm automatisch Informationen von Webseiten einsammelt โ€“ also das, was du sonst mรผhsam per Hand abschreiben wรผrdest.

Das passiert nach bestimmten Regeln, indem das Programm gezielt Texte, Bilder oder andere Inhalte aus dem HTML-Code einer Webseite herausliest. GroรŸe Unternehmen nutzen Scraping sogar professionell, um massenhaft Daten zu sammeln und weiterzuverarbeiten.

Du magst Home Assistant? Dann abonniere kostenlos meine Beitrรคge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 613 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklรคrung zu!

Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders รผberlegen!

Aber auch fรผr den privaten Gebrauch โ€“ etwa im Smart Home โ€“ ist Webscraping ein richtig praktisches Werkzeug, besonders wenn es um Informationen geht, fรผr die es keine fertige Home Assistant Integration gibt.


Was solltest du beachten?

Nicht alle Webseiten mรถgen es, wenn ihre Inhalte automatisch ausgelesen werden. Einige blockieren gezielt sogenannte Scraper, um sich zu schรผtzen โ€“ z.โ€ฏB. groรŸe Plattformen wie Amazon. Wenn dein Scraper also plรถtzlich keine Daten mehr bekommt, liegt das nicht an dir, sondern daran, dass die Webseite das Scraping aktiv verhindert.

Solange du aber Webseiten nutzt, die diese Technik nicht unterbinden, steht deinem Vorhaben nichts im Weg.


Webscraping mit Home Assistant โ€“ Beispiel: Spritpreise

Ein hรคufig genutztes Beispiel fรผr Scraping ist die Seite clevertanken.de. Dort kannst du ganz einfach nach den aktuellen Spritpreisen in deiner Umgebung suchen.

Und genau diese Preise โ€“ etwa fรผr Super E10 โ€“ kannst du mit Home Assistant automatisch auslesen lassen und in deinem Dashboard als Sensor anzeigen. Das ist nicht nur praktisch, sondern spart dir auch Zeit und Nerven.


Schritt-fรผr-Schritt Anleitung: Scraping in Home Assistant einrichten

1. Entwicklerwerkzeuge im Browser nutzen

ร–ffne clevertanken.de in Chrome (oder einem anderen Browser) und such die gewรผnschte Tankstelle in deiner Nรคhe. Dann klickst du auf den Preis fรผr Super E10, machst einen Rechtsklick und wรคhlst โ€žUntersuchenโ€œ. Der Browser zeigt dir dann den HTML-Code, in dem der Preis eingebettet ist.

Du kannst dann mit einem weiteren Rechtsklick den CSS-Selector kopieren, den Home Assistant spรคter benรถtigt.

Unter https://webdataextraction.de/der-ultimative-css-selektor-spickzettel-fuer-web-scraping/ findest du eine ziemlich ausfรผhrliche Erklรคrung, wie du mittels HTML und CSS die gewรผnschten Daten eindeutig adressierst.

2. Scraping-Integration in Home Assistant aktivieren

  • Gehe in Home Assistant auf Einstellungen > Gerรคte & Dienste > Integration hinzufรผgen
  • Suche nach โ€žScrapeโ€œ und wรคhle diese Integration aus
  • Fรผge die URL der gewรผnschten Webseite (z.โ€ฏB. die Seite deiner Tankstelle auf clevertanken.de) als Ressource ein
  • Die Methode bleibt GET, weitere Einstellungen (Header, Authentifizierung etc.) brauchst du nicht
  • Fรผge den kopierten Selector im nรคchsten Schritt ein
  • Gib der Entitรคt einen passenden Namen, z.โ€ฏB. spritpreis_scraper

3. Ergebnis prรผfen

Nach dem Speichern solltest du sofort sehen, dass ein neuer Sensor in deinem System auftaucht โ€“ mit dem aktuellen Spritpreis. Du kannst diesen Sensor jetzt wie jede andere Entitรคt verwenden, etwa im Dashboard anzeigen oder Automatisierungen damit verknรผpfen.


Bonus: Preise auswerten mit Statistik-Helfern

Ein einzelner Preiswert ist nett โ€“ aber wie kannst du einschรคtzen, ob das ein guter oder schlechter Preis ist? Genau dafรผr bietet Home Assistant Statistik-Helfer.

  • Erstelle unter Einstellungen > Gerรคte & Dienste > Helfer > Statistik einen neuen Statistik-Helfer
  • Wรคhle deinen Scraping-Sensor als Quelle
  • Definiere z.โ€ฏB. einen 72-Stunden-Durchschnitt

So bekommst du eine รœbersicht, wie sich der Preis entwickelt hat โ€“ und kannst Entscheidungen wie โ€žTanken oder noch warten?โ€œ datenbasiert treffen.


Fazit: Webscraping bringt dir echte Mehrwerte im Smart Home

Mit Webscraping in Home Assistant kannst du dein Smart Home um unzรคhlige Datenquellen erweitern โ€“ ganz ohne Zusatzkosten und ohne auf offizielle Integrationen angewiesen zu sein. Ob Spritpreise, Wetterdaten, ร–ffnungszeiten oder Bรถrsenkurse โ€“ du bestimmst, was du brauchst.

Klar, der Einstieg kann etwas knifflig wirken โ€“ besonders, wenn du noch keine Erfahrung mit HTML oder CSS hast. Aber mit ein wenig รœbung wirst du schnell merken: Das Ganze ist nicht schwer โ€“ und extrem hilfreich.

Produktempfehlungen

10 Gedanken zu „Mit Webscraping Daten von Webseiten auslesen und in Home Assistant nutzen“

    • @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.

      • @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?

        • @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 😉

  1. 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

    • @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?

      • @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…

Die Kommentare sind geschlossen.