Student2015: YahooFinance Daten mit Javascript auslesen

Hi Leute,

ich möchte eine von mir geschriebene Anwendung mit Kursdaten von Aktien befüllen, die Anwendung soll dann gratis auf meiner Webseite für alle frei verfügbar sein. (bisher hat meine Webseite ca. 50 Besuche pro Tag, mal gucken ob ich das durch meine neue Anwendung steigern kann :D)

die anwendung ist in javascript geschrieben. ich habe ein beispiel wie man aus yahoo-finance daten mit php auslesen kann, allerdings bringt mich das nicht weiter. ich würde gerne eine funktion in javascript schreiben die mir zu diversen assets die daten der jeweils letzten 90 tage liefert.

ich habe mir ein webpacket bei alphahosting organisiert und gehe davon aus, dass ich mir sachen wie node.js nicht installieren kann. habt ihr eine idee wie ich so eine funktion schreibe? ich finde leider kein verständliches beispiel in javascript.

mfg

  1. Hallo,

    wegen der Same Origin Policy kannst du mit Javascript nicht auf die Inhalte von Seiten zugreifen, die nicht von deiner Domain kommen. Bietet YahooFinance eine Schnittstelle (API) zum Zugriff auf die Daten an?

    Gruß Jürgen

    1. Hallo,

      wegen der Same Origin Policy kannst du mit Javascript nicht auf die Inhalte von Seiten zugreifen, die nicht von deiner Domain kommen. Bietet YahooFinance eine Schnittstelle (API) zum Zugriff auf die Daten an?

      Gruß Jürgen

      Moin,

      Jo : https://code.google.com/p/yahoo-finance-managed/wiki/csvHistQuotesDownload

      Bzw allgemeine api auch fuer json:

      https://code.google.com/p/yahoo-finance-managed/wiki/YahooFinanceAPIs

      Es gibt auch Beispiele im netzt wie man sich die daten mit ajax oder jquery holt. Aber die verstehe ich nicht.

      1. @@Student2015

        Es gibt auch Beispiele im netzt wie man sich die daten mit ajax oder jquery holt. Aber die verstehe ich nicht.

        Dann wirst du wohl lernen müssen, sie zu verstehen. Wie soll man dir denn helfen, wenn du nicht einmal sagen kannst, was genau du nicht verstehst?

        LLAP 🖖

        --
        „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
        „Hat auf dem Forum herumgelungert …“
        (Wachen in Asterix 36: Der Papyrus des Cäsar)
        1. @@Student2015

          Es gibt auch Beispiele im netzt wie man sich die daten mit ajax oder jquery holt. Aber die verstehe ich nicht.

          Dann wirst du wohl lernen müssen, sie zu verstehen. Wie soll man dir denn helfen, wenn du nicht einmal sagen kannst, was genau du nicht verstehst?

          LLAP 🖖

          „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
          „Hat auf dem Forum herumgelungert …“
          (Wachen in Asterix 36: Der Papyrus des Cäsar)

          hi,

          eine frage ist zb, was es mit nodeJS auf sich hat. wenn ich folgendes Beispiel auf meiner Webspace zum laufen bringen will:

          https://www.npmjs.com/package/yahoo-finance

          muss ich dann irgendwas manuell installieren? nodeJS und sowas: "$ npm install yahoo-finance " wird nicht installiert sein und sich nicht installieren lassen.

          eine andere Möglichkeit wäre:

          (function($) {
          			$.fn.jStockTicker = function(options) {
          				if (typeof (options) == 'undefined') {
          					options = {};
          				}
          				var settings = $.extend( {}, $.fn.jStockTicker.defaults, options);
          				var $ticker = $(this);
          				var $wrap = null;
          				settings.tickerID = $ticker[0].id;
          				$.fn.jStockTicker.settings[settings.tickerID] = {};
           
          				if ($ticker.parent().get(0).className != 'wrap') {
          					$wrap = $ticker.wrap("<div class='wrap'></div>");
          				}
           
          				var $tickerContainer = null;
          				if ($ticker.parent().parent().get(0).className != 'container') {
          					$tickerContainer = $ticker.parent().wrap(
          							"<div class='container'></div>");
          				}
          				
          				var node = $ticker[0].firstChild;
          				var next;
          				while(node) {
          					next = node.nextSibling;
          					if(node.nodeType == 3) {
          						$ticker[0].removeChild(node);
          					}
          					node = next;
          				}
          				
          				var shiftLeftAt = $ticker.children().get(0).offsetWidth;
          				$.fn.jStockTicker.settings[settings.tickerID].shiftLeftAt = shiftLeftAt;
          				$.fn.jStockTicker.settings[settings.tickerID].left = 0;
          				$.fn.jStockTicker.settings[settings.tickerID].runid = null;
          				$ticker.width(2 * screen.availWidth);
          				
          				function startTicker() {
          					stopTicker();
          					
          					var params = $.fn.jStockTicker.settings[settings.tickerID]; 
          					params.left -= settings.speed;
          					if(params.left <= params.shiftLeftAt * -1) {
          						params.left = 0;
          						$ticker.append($ticker.children().get(0));
          						params.shiftLeftAt = $ticker.children().get(0).offsetWidth;
          					}
          					
          					$ticker.css('left', params.left + 'px');
          					params.runId = setTimeout(arguments.callee, settings.interval);
          					
          					$.fn.jStockTicker.settings[settings.tickerID] = params;
          				}
          				
          				function stopTicker() {
          					var params = $.fn.jStockTicker.settings[settings.tickerID];
          					if (params.runId)
          						clearTimeout(params.runId);
          					
          					params.runId = null;
          					$.fn.jStockTicker.settings[settings.tickerID] = params;
          				}
          				
          				function updateTicker() {			
          					stopTicker();
          					startTicker();
          				}
          				
          				$ticker.hover(stopTicker,startTicker);		
          				startTicker();
          			};
           
          			$.fn.jStockTicker.settings = {};
          			$.fn.jStockTicker.defaults = {
          				tickerID :null,
          				url :null,
          				speed :1,
          				interval :20
          			};
          		})(jQuery);
          
          

          hier kann ich nix mit $funjction{...}(jquery); anfangen....