2016-12-15 3 views
0

Ich versuche, eine sehr einfache CSV-Datei von Yahoo Finance analysieren. Der resultierende csv hat nur den aktuellen Preis des Titels. Wenn ich das mache, bekomme ich diesen Fehler. Stimmt etwas in meiner Syntax?Parse Yahoo Finance CSV mit NodeJS

/tmp/de49fef0-c2fb-11e6-b1be-07e013ca5c3c/Node Application/app.js:6 https.get(endpoint, (response) => {^SyntaxError: Unexpected token > at Module._compile (module.js:437:25) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:244:9)

var https = require('https') 

var endpoint = "http://finance.yahoo.com/d/quotes.csv?s=AAPL&f=a" 

var body = "" 
https.get(endpoint, (response) => { 
       response.on('data', (chunk) => { body += chunk }) 
       response.on('end',() => { 
       var data = JSON.parse(body) 
console.log(data)})}) 
+2

Handhabung Welche Version des Knotens verwenden Sie? –

+0

Ich benutze NodeJS 4.3 – rustyocean

+1

Ich denke, diese Version unterstützt keine Pfeilfunktionen .... versuchen Sie, auf 'function() {}' –

Antwort

1

Ich denke, das der Download tun. Es wird auf diese Lösung basiert und Redirect erfordern

How to download a file with Node.js (without using third-party libraries)?

var http = require('http'); 
var fs = require('fs'); 

var endpoint = "http://finance.yahoo.com/d/quotes.csv?s=AAPL&f=a" 

var body = "" 

var download = function(url, dest, cb) { 
    var file = fs.createWriteStream(dest); 
    var request = http.get(url, function(response) { 
    if(response.statusCode === 301){ 
     console.log(); 
     var request = http.get(response.headers.location, function(response) { 
     response.pipe(file); 
     file.on('finish', function() { 
      file.close(cb); // close() is async, call cb after close completes. 
     }); 
     }); 
    } 
    }).on('error', function(err) { // Handle errors 
    fs.unlink(dest); // Delete the file async. (But we don't check the result) 
    if (cb) cb(err.message); 
    }); 
}; 


download(endpoint, 'test.csv', function(err){ 
    if(err){ 
    console.log(err); 

    } 
    else{ 
    //read csv file here 
    console.log(fs.readFileSync('test.csv').toString()); 
    } 
}) 
+0

zu aktualisieren oder zu aktualisieren Ich musste Funktion {} verwenden ... das war es :) – rustyocean

Verwandte Themen