Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Parser: Script einer Seite ausführen um Content zu laden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Parser: Script einer Seite ausführen um Content zu laden

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @moritzabcde last edited by OliverIO

      @moritzabcde

      ja, die dm-seite lädt die daten dynamisch nach.

      aber du hast glück.
      du kannst die daten per json unter folgender adresse abrufen.

      https://products.dm.de/product/de/products/gtins/8006540481554?view=details

      regex-ausdruck für parser wäre

      "price":"([\d\.]+)"
      

      7833f20a-13bb-4201-a15c-0e73ecfeb436-image.png

      M 1 Reply Last reply Reply Quote 0
      • M
        moritzabcde @OliverIO last edited by moritzabcde

        @oliverio
        Super! Vielen Dank!
        Kannst du mir noch erklären, wie du das herausgefunden hast? Steckt das irgendwo im HTML-Code?
        EDIT: Sorry, habe jetzt erst den Screenshot entdeckt. Danke auch dafür 🙂

        S 1 Reply Last reply Reply Quote 0
        • S
          Sushibomba @moritzabcde last edited by

          @moritzabcde

          Hey würde das auch gerne nutzten, verstehe nur noch nicht so ganz wie ich das bei mir einstellen soll.
          Kannst du mir das mal "für doofe" erklären? 😄

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @Sushibomba last edited by

            @sushibomba
            hier anhand eines anderen beispiels
            https://forum.iobroker.net/topic/8379/einlesen-von-aktienkursen/80?_=1657718847549

            S 1 Reply Last reply Reply Quote 1
            • S
              Sushibomba @OliverIO last edited by

              @oliverio
              Ok ich versteh nur Bahnhof 😄

              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Sushibomba last edited by

                @sushibomba

                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.

                S 1 Reply Last reply Reply Quote 0
                • S
                  Sushibomba @OliverIO last edited by

                  @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

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Sushibomba last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • S
                      Sushibomba last edited by Sushibomba

                      @homoran

                      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 😄

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Sushibomba last edited by

                        @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

                        S 1 Reply Last reply Reply Quote 1
                        • S
                          Sushibomba @Homoran last edited by

                          @homoran

                          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.

                          OliverIO 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @Sushibomba last edited by

                            @sushibomba

                            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)

                            Homoran S 2 Replies Last reply Reply Quote 2
                            • Homoran
                              Homoran Global Moderator Administrators @OliverIO last edited by

                              @oliverio

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

                              1 Reply Last reply Reply Quote 1
                              • S
                                Sushibomba @OliverIO last edited by Sushibomba

                                @oliverio

                                Ok alles klar dann schaue ich mal auf welchen Seiten mir die Infos helfen würden und poste sie dann hier mal rein 🙂

                                Vielen herzlichen Dank für die tolle Erklärung !!!

                                @Homoran Danke. Gut zu wissen.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                913
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                4
                                15
                                589
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo