NEWS
Parser: Script einer Seite ausführen um Content zu laden
-
@sushibomba
hier anhand eines anderen beispiels
https://forum.iobroker.net/topic/8379/einlesen-von-aktienkursen/80?_=1657718847549 -
@oliverio
Ok ich versteh nur Bahnhof -
dann wird es schwierig.
regex ist sehr komplex.
da was allgemeingültiges mundfertig aufzubereiten nicht einfach.
wenn du den ganzen thread durchliest, hatte der TE ein problem das er aus einer Seite Inhalte mit dem Parser-Adapter auslesen wollte und in Datenpunkte schreiben.Ich hatte es so verstanden, das du ein ähnliches Problem hast
Die Vorgehensweise beschreibt grob, wie man da vorgeht
das man am Ende einen funktionierendes Muster erhält, das der Parser-Adapter versteht. -
@oliverio
Ok dann wird es tatsächlich für mich schwierig.
Ich dachte man könnte einfach eine Seite einfügen und dann den Bereich in Form eines Links einfügen von dem er den Wert ständig neu einlesen soll
Trotzdem vielen Dank -
@sushibomba sagte in Parser: Script einer Seite ausführen um Content zu laden:
Ich dachte man könnte einfach eine Seite einfügen und dann den Bereich in Form eines Links einfügen von dem er den Wert ständig neu einlesen soll
das erklär mal bitte.
Was für eine Seite willst du wo einfügen?
und was soll das für ein Link sein, den du dann wiederum wo einfügen willst?
Was für einen "Bereich" soll der ominöse Link erfassen?
so was wie ein Bildausschnitt in einem Screenshot? -
Nein ich dachte genau an das gleiche Beispiel wie oben.
Man sucht sich die Seite raus wo man einen Preis Update immer wieder braucht, untersucht die Seite und findet den Bereich(Linkschnipsel) wo der Preis angezeigt wird.
Dann dachte ich könnte man einfach den Link von der Seite nehmen und dem Adpater dann sagen... Auf der Seite xyz wähle genau Bereich abc und erstelle davon einen Datenpunkt und aktualiere ihn sobald der Wert nicht mehr mit dem alten Wert übereinstimmt.So in etwa hatte ich es mir zumindest vorgestellt
-
@sushibomba sagte in Parser: Script einer Seite ausführen um Content zu laden:
untersucht die Seite und findet den Bereich(Linkschnipsel) wo der Preis angezeigt wird.
also den internen Link der Website!
den musst es erst einmal in der Form geben dass man von außen rankommt, Dann musst du ihn finden und hoffen, dass der Betreiber dich nicht als Intruder identifiziert.@sushibomba sagte in Parser: Script einer Seite ausführen um Content zu laden:
Auf der Seite xyz wähle genau Bereich abc und erstelle davon einen Datenpunkt
Beteich ist so eine niefliche Beschreibung für das was du willst. Man kann nicht einfach wirklich einen Bereich auswählen, man muss per RegEx eine eindeutige Codestelle finden.
@sushibomba sagte in Parser: Script einer Seite ausführen um Content zu laden:
aktualiere ihn sobald der Wert nicht mehr mit dem alten Wert übereinstimmt.
das wiedrum müsstest du mit einem Skript machem.
Das RegEx bringt dir die an der Codestelle gefundene Zeichenfolge, mehr nicht -
Ok das übersteigt auf jeden Fall mein bisheriges Wissen.
Da muss ich mich wohl noch deutlich tiefer in die Materie einlesen um das Prinzip genau zu verstehen.
Aber vielen Dank für dein ausführliche Erklärung.
-
regex ist eine technik für ein suchmuster. ungefähr so wie * und ?
als platzhalter wenn du dateien auf der festplatte suchst,
nur um einiges komplexer und leistungsfähiger.eine seite (also der html code) kann so durchsucht werden um exakt die stelle zu finden, wo der text steht den dir in einer webseite angezeigt wird. manchmal gibt es noch andere widrigkeiten, aber das macht es noch komplexer. daher muss man ausprobieren.
der parser adapter versucht es einem relativ einfach zu machen.
das suchmuster muss man allerdings selber entwerfen, da ja jede seite individuell aufgebaut ist.dabei können wir helfen, aber wir brauchen dazu input.
einmal am besten den ganzen quellcode der betroffenen seite (im browser mit der maus rechte maustaste seitenquelltext anzeigen)
zum anderen eine möglichst genaue beschreibung welcher text extrahiert werden soll (ggfs. screenshot)
am besten funktioniert es mit seiten, die öffentlich für alle aufrufbar sind.
sobald man login daten eingeben muss, wird es schon wieder schwieriger, da das der parser adapter nicht kann (auch hier wenige ausnahmen mit dem man es doch schafft) -
@Sushibomba
und Seiten, in denen das Gesuchte nicht direkt im Quelltext steht, sondern z.B. die Werte durch Skripte dynamisch erzeugen können auch sehr problematisch bis unmöglich auszulesen sein.Hinzu kommt noch, dass viele Seitenbetreiber in den Nutzungsbedingungen ein automatisiertes Auslesen verbieten.
-