Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wert aus einer Webseite auslesen?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wert aus einer Webseite auslesen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @umichel last edited by

      @umichel sagte in Wert aus einer Webseite auslesen?:

      Aber ist deshalb das Auslesen aller Webseiten verboten?

      musst du in den Nutzungsbedingungen der jeweiligen Website nachsehen.

      1 Reply Last reply Reply Quote 0
      • U
        umichel last edited by

        Ok, da muss ich dann mal schaune, ob die die das reglementieren.
        Auf der anderen Seite gibt es aber ja auch Tools die ganze Seite downloaden oder sogar archivieren.
        Den Unterschied verstehe ich jetzt nicht so ganz, aber könnte man theoretisch solch einen Umweg gehen?
        Also erst downloaden und dann auslesen?

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

          @umichel
          Welche Tools?
          Für die gilt die AGB ja auch, bzw für dich der das Tool bedient.
          Für Automaten gibt's die Robots.txt
          Da kann der Webseiten Betreiber angeben was ein Automat lesen darf und was nicht
          https://de.m.wikipedia.org/wiki/Robots_Exclusion_Standard

          Für viele Seiten gilt das sie so nicht vom Server übertragen werden wie sie angezeigt werden. Oft werden per Javascript dynamisch daten nachgeladen.
          Da hört es dann oft für die Automaten auf so etwas automatisiert auszuwerten. Da versagt dann auch der Parser Adapter und wir müssen andere Methoden finden die Daten zu finden

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

            Na ja, es gibt selbst im Selfhosting Bereich sowas wie Wallabag oder ArchiveBox.
            Getestet habe ich die nicht, aber früher habe ich mal HTTrack genutzt und selbst Webrowser können Webseiten speichern?
            Und da wurden meine ich auch die Daten geparsed, die dynamisch nachgeladen wurden gespeichert.
            Zusätzlich gibt es zig Online Servives die das kostenpflichtig machen.
            Mich wundert aktuell also die Problematik Webseite zu speichern oder zu parsen. Klar, solltes das nicht im Sekundentakt passieren oder gar Geld damit verdient werden.
            Deshalb meine Idee mit dem Umweg über geicherte Webseiten.
            Ob ein Proxy da hilft weiss ich nicht, so groß sind meine technischen Kenntnisse nicht.

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

              @umichel
              Die Tools werden ja durch dich ausgeführt.
              Daher musst du die AGBs der jeweiligen Seite beachten.
              Klar kann der Anbieter im Detail nicht immer unterscheiden, ob es im Browser durch einen Nutzer angeklickt wurde oder durch ein Tool ausgeführt wird.
              Aber Übermaß führt zu Gegenmaßnahmen und schädigt die andern, die das gemäßigt nutzen.
              Problem ist, manche sagen, ach, man wird schon Nix merken.
              Und schwupp, die wupp ist der Dienst gesperrt, oder der Anbieter führt stärkere Maßnahmen ein.

              Ein Proxy hilft Nur dann, wenn deine Anfragen über mehrere Rechner geführt werden, so dass die ursprüngliche Adresse, von der die Anfragen kommen nicht mehr sichtbar sind. (Beispielsweise TOR Netzwerk)

              1 Reply Last reply Reply Quote 1
              • U
                umichel last edited by umichel

                Hmm OK.
                Vielleicht hat ja jemand noch einen Tip wie ich z.B. an Kryptokurse komme.
                Oder auf eigenes Risiko z.B. die hier auslesen: https://www.coinbase.com/de/price/cardano

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

                  @umichel

                  sieht schlecht aus.
                  die Abfrage wird durch ein javascript auf diese Adresse ausgeführt
                  https://www.coinbase.com/graphql/query?&operationName=useGetPriceChartDataQuery&extensions={"persistedQuery"%3A{"version"%3A1%2C"sha256Hash"%3A"3aa896a38f822d856792f18ca18f98f49580540f517693ad4e51508c529ddb6e"}}&variables={"skip"%3Afalse%2C"slug"%3A"cardano"%2C"currency"%3A"EUR"}

                  Der Server erfordert von dem request aber strict-origin-when-cross-origin
                  d.h. die Abfrage darf nur von einer Seite ausgeführt werden, die die gleiche domäne hat wie der link bzw. in einer Ausnahmeliste drin steht:

                  Content-Security-Policy:
                  default-src 'self' https://login.coinbase.com https://www.coinbase.com; child-src 'self' https://www.coinbase.com https://static-assets.coinbase.com https://fast.wistia.net https://ui.solaris-p.finleap.cloud https://fts-payment-initiation-wizard.solarisbank.de/ https://payment.truelayer.com https://*.online-metrix.net https://tm-eps.neutrino.nu https://*.wpstn.com https://netverify.com https://platform.twitter.com https://www.google.com/recaptcha/ https://recaptcha.net/ https://cdn.plaid.com/link/ https://*.doubleclick.net/ blob: https://www.youtube.com https://player.vimeo.com/video/ https://widget.coinbase.com https://datawrapper.dwcdn.net/ https://widgets.marqeta.com https://*.paypal.com https://pay.google.com/ https://accounts.google.com/ https://transact.atomicfi.com/ https://cb-monorail-legal-agreements-prod.s3.us-east-1.amazonaws.com https://alchemy.veriff.com https://price-table-widget.coinbase.com https://magic.veriff.me https://centinelapi.cardinalcommerce.com/V1/Cruise/Collect https://p2a.co/; connect-src 'self' https://www.coinbase.com https://api.coinbase.com https://api.custody.coinbase.com https://www.tradingview.com/snapshot/ https://player.vimeo.com/api/player.js https://vimeo.com/api/oembed.json https://s.adroll.com https://d.adroll.com https://cdn.segment.com https://api.segment.io https://login.coinbase.com https://*.online-metrix.net https://tm-eps.neutrino.nu https://api.cloudinary.com https://ott9.wpstn.com/live https://api.amplitude.com/ https://d3907m2cqladbn.cloudfront.net/ https://exceptions.coinbase.com https://assets.coinbase.com/ https://sessions.coinbase.com/ https://assets.coinbase.com/ https://static-assets.coinbase.com/ https://dynamic-assets.coinbase.com/ https://analytics.google.com https://*.google-analytics.com https://maps.googleapis.com https://translation.googleapis.com https://www.googletagmanager.com/gtag/js https://www.googletagmanager.com/gtm.js https://www.googleadservices.com https://googleads.g.doubleclick.net https://people.googleapis.com https://dynamic-assets.coinbase.com https://published-assets.coinbase.com https://translations.coinbase.com https://translations.coinbase.com https://static.coinbase.com https://events-service.coinbase.com/amp https://events-service.coinbase.com/track-exposures https://events-service.coinbase.com/bugsnag https://events-service.coinbase.com/metrics https://as.coinbase.com/metrics https://as.coinbase.com/amp https://as.coinbase.com/bugsnag https://as.coinbase.com/track-exposures https://dp.coinbase.com/metrics https://dp.coinbase.com/amp https://dp.coinbase.com/bugsnag https://dp.coinbase.com/track-exposures https://*.braintree-api.com https://api.braintreegateway.com https://vq0hrc01qb.execute-api.us-east-1.amazonaws.com/api wss://ws.coinbase.com wss://ws.coinbase.com:443 https://www.coinbase.com/api https://cdn.contentful.com/ https://preview.contentful.com/ https://contentful.coinbase.com/ https://api.userleap.com/ https://api.sprig.com/ https://widgets.marqeta.com/client/api/v1/ https://assets.ctfassets.net/ https://images.ctfassets.net/ https://pay.google.com/ https://google.com/pay https://accounts.google.com/ https://api.kickofflabs.com/ https://c.tvpixel.com/ https://p.tvpixel.com/ https://*.salesforce.com https://rs.fullstory.com https://api.wallet.coinbase.com wss://*.bridge.walletconnect.org wss://bridge.walletconnect.org https://registry.walletconnect.com/api/v2/wallets wss://www.walletlink.org; font-src 'self' https://www.coinbase.com https://assets.coinbase.com/ https://card.coinbase.com/ https://static.coinbase.com https://static-assets.coinbase.com https://assets.ctfassets.net/; img-src 'self' data: https://www.coinbase.com https://images.coinbase.com https://www.tradingview.com https://bat.bing.com/ https://i.vimeocdn.com/video/ https://d.adroll.com https://d3907m2cqladbn.cloudfront.net/ https://d392zik6ho62y0.cloudfront.net/ https://d1dwhf283nul1c.cloudfront.net/ https://static-assets.coinbase.com/ https://dynamic-assets.coinbase.com/ https://dynamic-assets.coinbase.com https://published-assets.coinbase.com https://exceptions.coinbase.com https://coinbase-uploads.s3.amazonaws.com https://asset-metadata-service-production.s3.amazonaws.com https://s3.amazonaws.com/app-public/ https://maps.gstatic.com https://ssl.google-analytics.com https://www.google.com https://maps.googleapis.com https://csi.gstatic.com https://www.google-analytics.com https://res.cloudinary.com https://secure.gravatar.com https://i2.wp.com https://*.online-metrix.net https://tm-eps.neutrino.nu https://assets.coinbase.com/ https://ctf-images-01.coinbasecdn.net/ https://hexagon-analytics.com https://cb-brand.s3.amazonaws.com https://googleads.g.doubleclick.net https://stats.g.doubleclick.net/r/collect https://card.coinbase.com/ blob: https://static.coinbase.com https://www.facebook.com/tr/ https://images.ctfassets.net/ https://i.ytimg.com/vi/ https://*.paypal.com https://px.ads.linkedin.com https://www.linkedin.com/px https://p.adsymptotic.com/d/px https://atomicfi-public-production.s3.amazonaws.com https://cdn-public.atomicfi.com https://api.custody.coinbase.com/ https://help.coinbase.com/ https://truelayer-provider-assets.s3.amazonaws.com; media-src 'self' https://www.coinbase.com https://d392zik6ho62y0.cloudfront.net/ blob:; object-src 'self' data: blob: https://www.coinbase.com https://cdn.siftscience.com https://*.online-metrix.net https://tm-eps.neutrino.nu https://www.gstatic.com https://www.google.com/recaptcha/api/ https://recaptcha.net/; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.coinbase.com https://cdn.segment.com https://bat.bing.com/ https://player.vimeo.com/api/player.js https://s.adroll.com https://d.adroll.com https://www.youtube.com/iframe_api https://www.youtube.com/s/player/ https://fast.wistia.com/assets/external/E-v1.js https://cdn.siftscience.com https://*.google-analytics.com https://www.google.com https://www.gstatic.com https://*.online-metrix.net https://tm-eps.neutrino.nu https://code.jquery.com https://chart.googleapis.com https://maps.googleapis.com https://maps.gstatic.com https://netverify.com https://ajax.cloudflare.com https://cdn.plaid.com/link/ https://www.googletagmanager.com/gtag/js https://www.googletagmanager.com/gtm.js https://www.googleadservices.com https://googleads.g.doubleclick.net https://assets.coinbase.com/ https://card.coinbase.com/ https://static.coinbase.com https://widget.coinbase.com https://connect.facebook.net/en_US/fbevents.js https://connect.facebook.net/signals/config/ https://static-assets.coinbase.com/js/ https://static-assets.coinbase.com/trading-view/ https://*.paypal.com https://recaptcha.net/ https://www.gstatic.cn/ https://images.ctfassets.net/ https://pay.google.com/ https://accounts.google.com/ https://cdn.atomicfi.com/transact.js https://c.tvpixel.com/ https://p.tvpixel.com/ https://rs.fullstory.com https://price-table-widget.coinbase.com; style-src 'self' 'unsafe-inline' https://assets.coinbase.com https://www.coinbase.com https://s.adroll.com https://assets.coinbase.com/ https://static-assets.coinbase.com/trading-view/ https://card.coinbase.com/ https://static.coinbase.com; report-uri /csp-logging
                  
                  
                  

                  diese seite auslesen funktioniert meiner meinung nach nur mit browser automatisierungstools wie selenium. evtl auch mit tools wie greasemonkey/tampermonkey, welche aber auch wieder einen laufenden browser benötigen, bei dem die seite regelmäßig aufgerufen wird

                  hm, korrektur. der request geht doch durch?
                  probiere im parser-adapter bitte mit dem obigen link die folgenden einstellungen

                  regex

                  },{"price":"([\d\.]+)
                  

                  type

                  number(.)
                  
                  1 Reply Last reply Reply Quote 0
                  • U
                    umichel last edited by

                    Mega ...
                    vielen vielen Dank dafür.
                    Funktioniert prima.
                    Den Intervall habe ich jetzt auf 87000000 gesetzt.
                    Das ist etwas mehr als 24 Stunden und fällt also noch wenige auf, als wenn man das genau nach 24 Stunden macht.
                    Wenn du mir jetzt noch erklärst, wie du an den Link gekommen bist ...
                    Und wäre es auch möglich auszulesen, ob der Kurs gestiegen oder gesunken ist?
                    Auf der Seite selbst wird das ja durch ein Symbol oder die Farbe dargestellt.

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

                      @umichel

                      Das ist bei jeder Seite etwas individuell.
                      Wenn der Wert nicht direkt in der Seite mit übertragen wird, dann muss sie anderweitig abgerufen werden.
                      Die Gesamtheit aller abgerufenen Daten (Webseite, Bilder, javascrpts, CSS, Fonts und vieles mehr) kann über die Developer-Tools des Browsers (zumindes bei Chrome/Edge/Firefox) eingesehen werden.
                      Also Seite aufrufen
                      dann rechte Maustaste auf den Webseiteninhalt und "Untersuchen" aufrufen.
                      Dann in den Netzwerktab gehen
                      und die Seite nochmal neu laden F5
                      Dann sieht man im Reiter alle einzelnen Dateien die abgerufen werden. In diesem Fall sind es über 200 einzelne Requests.
                      Dann mit STRG+F die Suchfunktion aufrufen und nach 0.25 suchen.
                      Dann alle Ergebnisse einzeln durchschauen und schauen ob die Fundstelle die Quelle sein kann.
                      Dann hat man den Request gefunden
                      Den dann probieren, ob der Request wieder im Browser aufrufbar ist.

                      1 Reply Last reply Reply Quote 0
                      • U
                        umichel last edited by

                        OK, vielen Dank.
                        Ich werde das nach meinem Urlaub mal testen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        947
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        javascript
                        11
                        52
                        8788
                        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