Start / Home Assistant / Integrationen / Home Assistant Scrape Guide: Webseiten einfach überwachen

Home Assistant Scrape Guide: Webseiten einfach überwachen

Möchtest du benachrichtigt werden, wenn ein Produkt wieder lieferbar ist oder sich ein Preis ändert? Mit der Home Assistant Scrape Integration kannst du fast jede Webseite in einen Sensor verwandeln. In dieser Anleitung zeige ich dir, wie du ohne Programmierkenntnisse Daten von Webseiten extrahierst.

Beispiel Szenario

Nehmen wir an, ihr möchtet benachrichtigt werden, sobald ein bestimmter Artikel in einem Online Shop wieder verfügbar ist. Ihr tragt also die URL ein und den Wert, der überwacht werden soll. Z. B. den Text „Derzeit nicht verfügbar“. Als Automation könnt ihr nun hinterlegen, dass ihr eine Benachrichtigung erhaltet, sobald der Text „Derzeit nicht verfügbar“ nicht mehr vorhanden ist.

CSS Selector finden (Vorbereitung)

Für die Nutzung der Integration benötigen wir die URL, auf der der zu überwachende Text steht, und den selector. Das ist der Punkt, wo es ein wenig technisch wird. Um den selector zu erhalten, öffnen wir die gewünschte URL und drücken dann die F12 Taste. Es öffnen sich die DevTools des Browsers. Hinweis: Das funktioniert nur am PC, nicht am Smartphone.
Stellt sicher, dass ihr im Reiter „Elements“ seid, und klickt das Icon oben links mit dem Pfeil:

Nun könnt ihr mit der Maus den gewünschten Text auswählen. Dieser wird farblich hervorgehoben. Wenn ihr auf den Text klickt, springt ihr in den DevTools in die angeklickte Zeile des Quellcodes. Hierauf macht ihr einen Rechtsklick und geht auf „Copy – Copy selector“ und speichert euch den Wert weg.

Installation

Zuerst installieren wir Scrape. Klickt dafür in Home Assistant auf „Einstellungen – Geräte und Dienste – Integration hinzufügen“ und sucht nach „Scrape“.
Bei „Ressource“ gebt ihr die URL ein, auf der der Text steht, den ihr überwachen wollt.

Tipp: Webseiten blockieren oft „Bot-Anfragen“. Durch das Mitliefern des User-Agents geben wir uns als normaler Browser aus, um eine Blockade zu umgehen.
Bei Header tragt ihr Folgendes ein und klickt auf „Weiter“:

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"

Unter „Name“ könnt ihr der Entität einen Namen geben. Unter „Auswählen“ fügt ihr den zuvor kopierten selector ein und klickt auf OK.

Wenn ihr jetzt die Entität öffnet, seht ihr den zu überwachenden Text.

Hinweis

Es gibt Webseiten, bei denen diese Copy/Paste-Methode nicht so einfach funktioniert. Sind die gewünschten Werte in JavaScript enthalten, können sie nicht ausgelesen werden. Andere Webseiten haben die gewünschten Werte vielleicht tiefer im Quellcode versteckt, sodass ihr in den DevTools nicht direkt zu der gewünschten zeile springt.

In der Praxis

Als einfaches Beispiel möchten wir die aktuelle Version von Home Assistant über die Home Assistant Webseite erhalten. Diese steht auf der Webseite oben im Header.

Hier ist als Bild der Ablauf beschrieben.

Home Assistant Scrape Integration CSS Selector DevTools

Fügen wir das in Home Assistant ein, sieht der Sensor so aus:

Fazit

Die Scraper-Integration kann sehr hilfreich sein, wenn man bei bestimmten Webseiten auf dem Laufenden bleiben möchte. Jedoch ist nicht jede Webseite hierfür geeignet und eventuell muss man doch ein wenig tiefer in die Materie einsteigen.

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Shopping