Skip to content
Menu
Menu

Knowledge Base

KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

Produkt: Elvis
Stand: 2006-03-14

Zusammenfassung

Dieses Beispiel zeigt, wie man den „Custom Port“ dazu benutzen kann, Daten aus Internetseiten als Datenpunkte zur Verfügung zu stellen.
Im Beispiel wird die von www.wetteronline.de vorhergesagte Temperatur für Kalchreuth ermittelt.

Download Beispielprojekt und Script: inet.zip (0,1 MB)

Hinweis: Der Elvis-Server läuft als Dienst oftmals unter dem lokalen Systemkonto. Für dieses Konto muss auch ein Internetzugang möglich sein, damit der Anschluss Daten aus dem Internet bekommen kann.

Einzelheiten

Im Beispiel wird die Vorhersagetemperatur für Kalchreuth von http://www.wetteronline.de alle 6 Stunden ermittelt und in einen Datenpunkt geschrieben. (Die entsprechende URL für andere Städte kann über http://www.wetteronline.de/homepage/index.html ermittelt werden).

Das Beispielprojekt geht davon aus, dass die Basic-Datei ElvisINet.bas im Verzeichnis C:\Programme\Elvis abgelegt ist. Wenn Sie ein anderes Verzeichnis benutzen, bitte den Parameter im Datenpunkt-Anschluss entsprechend anpassen.

Wie funktioniert das?

Es wurde ein Datenpunkt-Anschluss „INTERNET“ eingerichtet, der mit Hilfe der Basic-Datei ElvisINet.bas HTML-Seiten anfordern und Daten daraus extrahieren kann.

Die Lösung ist recht allgemein gehalten, so dass sie Basic-Datei möglicherweise sogar unverändert übernommen werden kann. Die Datenpunkte dieses Anschlusses können nur gelesen werden und müssen mit einer zyklischen Abfrage verbunden sein.

Die technischen Adressen diese Anschlusses bestehen aus zwei Teilen, der URL der zu lesenden HTML-Seite, gefolgt – durch einen senkrechten Strich abgetrennt – von einem „regulären Ausdruck“, der bestimmt, welcher Teil der Seite als Datenpunktwert genommen werden soll.

Es sind URLs der Form „http:…“, „https:…“ und „ftp:…“ zulässig. Authentifizierung und Cookies werden im Moment nicht unterstützt. Es ist im Einzelfall zu klären, ob und unter welchen Bedingungen die Nutzung einer Webseite für den gewünschten Zweck zulässig ist!

Der reguläre Ausdruck (siehe z.B. http://de.wikipedia.org/wiki/Reguläre_Ausdrücke) muss eine in Klammern eingeschlossene Gruppe enthalten. Die Zeichenkette, die dieser Gruppe entspricht, wird als Wert extrahiert. Im Beispiel ist der reguläre Ausdruck „>(\d+)°C“, das bedeutet im Klartext: suche eine spitze Klammer gefolgt von einer Zahl (ein oder mehrere Ziffern), gefolgt von „°C“ („°“ ist die HTML-Schreibung für das Gradzeichen), und liefere die Zahl als Ergebnis. Das ist sicher noch verbesserungsfähig (z.B. werden negative Zahlen nicht erkannt), soll hier aber nur das Prinzip illustrieren.
Um auch negative Zahlen richtig zu interpretieren, muss der reguläre Ausdruck um „-?“ ergänzt werden. Das sieht dann so aus: „>(-?\d+)°C“

Die technische Adresse kann in Elvis max. 255 Zeichen lang sein. Wenn dies nicht ausreicht, bieten sich folgende Auswege:

  • Wenn die URL sehr lang ist, kann diese evtl. durch einen Redirect-Dienst wie tinyurl.com gekürzt werden.
  • ElvisINet.bas könnte so geändert werden, dass die URL und der reguläre Ausdruck aus einer Datei gelesen werden, die techn. Adresse wäre dann nur noch ein Schlüssel in dieser Datei.

Support Area

KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

Knowledge Base

Hier finden Sie Antworten, Problemlösungen und Beispiele zu unseren Produkten.
KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

Case Studies

Erfolgreich im Einsatz: Praxisbeispiele unserer Produkte und Individualentwicklungen.
KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

Support

Beschreiben Sie ihr Anliegen über unser Supportformular.
KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

Lizenzregistrierung

Registrieren Sie ihre Elvis-Lizenz!

IT GmbH · An der Kaufleite 12 · D-90562 Kalchreuth

KB050097 | DATEN AUS WEBSEITEN EXTRAHIEREN

BÜRO
Telefon: +49 911 5183490
E-Mail: info@it-gmbh.de

VERTRIEB
Telefon: +49 911 5183490
E-Mail: vertrieb@it-gmbh.de

partner-knx

© Copyright 2023. IT GmbH | designed by Appear Online