Ankündigung

Einklappen
Keine Ankündigung bisher.

[JS] Daten von Fremder Webseite auslesen.

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JS] Daten von Fremder Webseite auslesen.

    Hallo miteinander,


    mit dem Link: https://www.bitstamp.net/api/v2/ticker/ltceur kann man den Aktuellen wert von einer Kryptowährung abfragen.

    Ich würde das gerne nutzen und in eine Lokale Seite einbauen auf meinem Rechner, jedoch ist auf dem Rechner keine Web Entwicklerumgebung vorhaben , wodurch PHP für mich nicht in frage kommt :-(.

    Aus dem genannten Grund würde ich das gerne mit JS machen.

    ich müsste wenn meine Seite geladen wird die Ausgabe der URL Laden und dann nach dem Schlüsselwort "ask" suchen und denn wert der dahinter steht dann zur Verfügung gestellt bekommen.

    So das ich mit dem Wert dann weiter Rechnen könnte.
    Leider habe ich keine Ahnung wie ich so was realisieren könnte.


    Könntet Ihr mir weiter helfen? JS ist wie Chinesisch für mich :-(

    gruß Mücke


  • #2
    Du kannst den Link über js einfach abrufen, das Ergebnis in einer js Variable speichern und dann einfach in js nutzen. Der Link liefert dir ein json Format. Einfach mal nach JavaScript und json googeln

    $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", data: "{ your: 'data' }", dataType: "json", url: "WebService1.asmx/sum", success: function (data) { alert(data); //use your data object } });
    Zuletzt geändert von Testie; 17.09.2017, 21:22.

    Kommentar


    • #3
      Hallo Testie,


      erst ein mal danke für deine Antwort, noch bin ich mit dem JS-Chinesisch nicht ganz zu Pote gekommen, habe mir aber mal was zusammen gebaut, bei dem ich keinen Fehler ausgegeben bekomme, also denke ich das ich auf einem Halbwegs richtigen weg mich befinde.
      Code:
      <!doctype html>
      <html lang="de">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Test JS http Lesen </title>
            <script language="javascript" type="text/javascript">
            <!--
              $.ajax({
                 type: "POST",
                 contentType: "application/json; charset=utf-8",
                 data: "{ask: 'data' }",
                 dataType: "json",
                 url: "https://www.bitstamp.net/api/v2/ticker/ltceur",
                 success: function(data) {
                          alert(data); // Verwenden Sie Ihr Datenobjekt
                          }
                      });
            -->
            </script>
        </head>
        <body>
          <p><b>Litecoin</b></p>
          <p></p>
          <p>Datum: {timestamp} [Unix-Zeitstempel umrechnen]</p>
          <p>Verkaufspreis: {ask} [nur ausgeben]</p>
          <p>....</p>
        </body>
      </html>
      Gruß Mücke

      Kommentar


      • #4
        bei dem ich keinen Fehler ausgegeben bekomme
        Das wundert mich, denn Du verwendest HTML-Kommentarzeichen im Javascript, was zu Syntaxfehlern führt.

        nach dem Schlüsselwort "ask" suchen und denn wert der dahinter steht dann zur Verfügung gestellt bekommen.
        Glücklicher Weise geht es viel einfacher: Im Parameter data steht ein Array und Du kannst direkt auf den Wert zugreifen:
        Code:
        var kurs = data.ask;
        Code:
            <script type="text/javascript">
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    url: "https://www.bitstamp.net/api/v2/ticker/ltceur",
                    success: function (data) {
                        alert(data.ask);
                    }
                });
            </script>

        Kommentar


        • #5
          Nur nebenbei - das einfache kopieren von Daten könnte rechtliche folgen haben, deswegen braucht man immer eine schriftliche Erlaubnis vom Anbieter der Seite, dass Daten von dritten per Ajax in die eigene Seite eingebunden wird. Es ist sehr kritisch, wenn man versucht unerlaubt Daten zu beziehen. Zudem die IP-Adresse von den Anforderer gespeichert werden kann.

          Meine Empfehlung: Lerne ersteinmal mit JavaScript umzugehen und das mit nativen JavaScript und lass am Anfang die Frameworks weg. JavaScript bietet von Haus aus jetzt schon gute Mittel, um damit zu arbeiten. Bücher über JavaScript bekommt man im Internet schon kostenlos von den Verlagen als PDF. So ein Bucg durchzu arbeiten dauert 3 bis 4 Tage. Wenn du eher auf Lernvideos stehst, sind diese auch geeignet, um an's Ziel zu gelangen. Es ist aber sehr, sehr wichtig zu wissen, was man da tut und wie es funktioniert.

          Man kann nämlich bei Fehlern haftbar gemacht werden und wenn man noch auf Daten von dritten zugreift erst recht. Und das kann richtig teuer werden und macht dann auch kein Spass mehr.

          Gruß

          Localfu
          Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
          Albert Einstein

          Kommentar


          • #6
            @Localfu: bei der Seite bei der ich die Daten abfrage handelt es sich um eine Seite die die Daten genau für solche Zwecke beriet stellt.
            es handelt sich um eine Web API somit alles im Grünen Bereich.


            ich werde mir heute Abend das mit dem JS noch mal genauer anschauen. dann muss ich noch raus bekommen wie ich die Daten auch im HTML wider aufrufen kann :-)

            Kommentar


            • #7
              nachdem ich den Hinweis mit dem Frameworks im Kopf bei mir richtig verarbeitet habe, habe ich verstanden warum bei mir nichts funktioniert :-)
              ich habe eine jquery.js im Internet gefunden und mit eingebunden :-) jetzt bekomme ich die ersten Ergebnisse angezeigt :-)

              Das Datum habe ich umgerechnet bekommen, dank Internet :-)

              Jetzt habe ich aktuell noch zwei Probleme.

              1) wenn die Datei geladen ist zeigt mein Browser FF auf dem Mac immer noch im Tab an das die Seite geladen wird, warum?
              2) ich bekomme die Zahl "ata.ask" nicht konvertiert, anstelle eines (,) ist dort ein (.) drin, das sagt mir das ich einen String vorliegen habe.
              Daher versuche ich den String in eine Zahl zu konvertieren, laut Internet würde ich das nicht mit parseInt machen sondern mit parseFloat, doch wenn ich das mache dann bekomme ich kein Ergebnis mehr, ich glaube das da was schief geht dann :-(
              ich möchte den String umwandeln da ich damit rechnen möchte, was ich noch nicht hin bekomme.

              Vielleicht kann mir jemand etwas weiterhelfen.

              Das ist mein Code aktuelle, vollständig :-)

              Code:
              <!doctype html>
              <html lang="de">
                <head>
                  <meta charset="utf-8">
                  <meta name="viewport" content="width=device-width, initial-scale=1.0">
                  <title>Test JS http Lesen </title>
              <script src="jquery.js" type="text/javascript"></script>
                  <script>
                  $.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      dataType: "json",
                      url: "https://www.bitstamp.net/api/v2/ticker/ltceur",
                      success: function (data) {
                          document.write("<p><b>Litecoin</b></p>");
                          document.write("<p></p>");
              
                          var Zeit = new Date();
                          Zeit.setTime (data.timestamp * 1000);
                          document.write("<p>Datum: " + Zeit + "</p>");
              
                          document.write("<p>Verkaufspreis: " + data.ask + "€</p>");
              
                          var ergebnis = parseInt(data.ask);
                          document.write("<p>Verkaufspreis + 3,01 €: " + ergebnis + "€</p>");
                      }
                  });
                  </script>
                </head>
                <body>
                <p>Da ist was Schief gegangen</p>
                </body>
              </html>
              Gruß Mücke

              Kommentar


              • #8
                Verabschiede dich von document.write(), gerade bei asynchronen Vorgängen ist das Ergebnis schwer vorhersagbar. Definiere einen Container und trage die Ausgaben dort ein.
                Der Wert von ask ist ein String, aber das hat nichts mit Punkt oder Komma zu tun, sondern man erkennt es daran, dass er im JSON in Hochkommas steht:
                "ask": "47.00"
                Daher ist der Ansatz, ihn mit parseFloat() zu konvertieren, richtig und funktioniert.

                <div id="result"></div>
                <script>
                $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: "https://www.bitstamp.net/api/v2/ticker/ltceur",
                success: function (data) {
                var res = $("#result");
                var html = "<p><b>Litecoin</b></p>";
                var Zeit = new Date();
                Zeit.setTime(data.timestamp * 1000);
                html += "<p>Datum: " + Zeit + "</p>";

                html += "<p>Verkaufspreis: " + data.ask + "€</p>";

                var ergebnis = parseFloat(data.ask);
                html += "<p>Verkaufspreis + 3,01 €: " + ergebnis + "€</p>";
                res.html(html);
                }
                });
                </script>
                Zuletzt geändert von Sempervivum; 18.09.2017, 19:39.

                Kommentar


                • #9
                  Du bist der Hammer, danke.


                  perfekt. jetzt habe ich das endlich rechnen können.

                  Das Ergebnis habe ich jetzt auch auf zwei Nachtkomma stellen kürzen können, perfekt.
                  Jetzt habe ich mir eine kleine Übersicht gebaut, das ich direkt sehe wie meine Kurse stehen, das erleichtert mir das ganze enorm.

                  Danke.

                  gruß Mücke

                  Kommentar

                  homepage-forum.de - Hilfe für Webmaster! Statistiken

                  Einklappen

                  Themen: 56.399   Beiträge: 428.170   Mitglieder: 27.768   Aktive Mitglieder: 91
                  Willkommen an unser neuestes Mitglied, auralivecasino.

                  Online-Benutzer

                  Einklappen

                  232 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 231.

                  Mit 1.625 Benutzern waren am 17.03.2018 um 18:52 die meisten Benutzer gleichzeitig online.

                  Die neuesten Themen

                  Einklappen

                  Kostenlose Homepage bei Jimdo!

                  Einklappen

                  Jimdo

                  Die neuesten Beiträge

                  Einklappen

                  Lädt...
                  X