2016-04-30 11 views
0

誰でもこのnode.jsプログラムを実行してください。モジュールをインストールできないnodejsプログラムを実行

xml-parserをWindowsにインストールできません。

//to install xml-parser module in windows type this in cmd: npm install xml-parser 
var fs = require('fs'); 
var parse = require('xml-parser'); 
var xml = fs.readFileSync('sample_table.html'); 
    var get_parser = parse(xml); 
    var in_csv = []; 
    get_parser.root.children.forEach(function(tr) { 
     data.push(tr.children.map(function(td) { 
      return td.content; 
     }).join(',')); 
    }); 
    in_csv = in_csv.join('\r\n'); 
    fs.writeFile('dates.csv', in_csv, function(err){ 
     if(err){ 
      return console.error(err); 
    } 

と、これはsample_table.html

<table> 
<tbody> 
<tr style="color:#333333;background-color:White;"> 
<td>2016-04-28</td> 
<td>RLYUDP-DP</td> 
<td>RELIANCE FIXED HORIZON FUND XXX SERIES 18-- DIVIDEND PAYOUT</td> 
<td>F204KB1254</td> 
<td>10.0000</td> 
<td>KARVY</td> 
</tr> 
<tr style="color:#333333;background-color:White;"> 
<td>2016-04-28</td> 
<td>RLYUGP-GR</td> 
<td>RELIANCE FIXED HORIZON FUND XXX SERIES 18- GROWTH</td> 
<td>YUGP</td> 
<td>10.0000</td> 
<td>KARVY</td> 
</tr> 
<tr style="color:#333333;background-color:White;"> 
<td>2016-04-28</td> 
<td>UTCXDP-DP</td> 
<td>UTI-CAPITAL PROTECTION ORIENTED SCHEME - SERIES VII - IV 1278 DAD PLAN</td> 
<td>CXDP</td> 
<td>N</td> 
<td>INF789FC1691</td> 
<td>10.0000</td> 
<td>KARVY</td> 

</tbody> 
    </table> 

であるか、あなたがここに直接リンクhttps://github.com/suresach/nodejs_scraper

+0

npm install xml-parserを実行するとエラーが発生しますか? – grimurd

+0

はい: http://stackoverflow.com/questions/36936873/npm-not-working-in-windows? お手伝いできますか? – sachsure

+1

インストール先のフォルダに、npm-debug.logファイルがあります。ペーストビンに内容を入れて、あなたの問題にリンクしてください。 – grimurd

答えて

0

に従うことができ、私はノードに問題が表示されていませんか、 npm。でも、私はあなたのコードのタイプミスを参照してください。ここで

replace 
     data.push(tr.children.map(function(td) { 
with 
     in_csv.push(tr.children.map(function(td) { 

は私のテストの出力である:ここで

C:\home\node\codes>node -v 
v6.0.0 

C:\home\node\codes>npm -v 
3.8.6 

C:\home\node\codes>npm install xml-parser 
C:\home\node\codes 
+-- [email protected] 
+-- [email protected] 
`-- [email protected] 

npm WARN enoent ENOENT: no such file or directory, open 'C:\home\node\codes\package.json' 
npm WARN codes No description 
npm WARN codes No repository field. 
npm WARN codes No README data 
npm WARN codes No license field. 

C:\home\node\codes>cat foo.js 
var fs = require('fs'); 
var parse = require('xml-parser'); 
var xml = fs.readFileSync('sample_table.html', 'utf8'); 
var get_parser = parse(xml); 
var in_csv = []; 
get_parser.root.children.forEach(function(tr) { 
     in_csv.push(tr.children.map(function(td) { 
      return td.content; 
     }).join(',')); 
    }); 
    in_csv = in_csv.join('\r\n'); 

    fs.writeFile('dates.csv', in_csv, function(err){ 
     if(err){ 
      return console.error(err); 
    } 
}); 

C:\home\node\codes>node foo.js 

C:\home\node\codes>cat dates.csv 
,, 
C:\home\node\codes> 
+0

は、.csvファイルの出力ですか? しかし、私はそれが欲しくないです 私が欲しいのは、カンマで区切って​​の要素です – sachsure

0

が変更されたコードである - 基本的にマッパー関数内で必要な他の再方向があります。お役に立てれば。

var fs = require('fs'); 
var parse = require('xml-parser'); 
var xml = fs.readFileSync('sample_table.html', 'utf8'); 
var data = []; 
var get_parser = parse(xml); 
var in_csv = []; 
get_parser.root.children.forEach(function(tr) { 

     in_csv.push(tr.children.map(function(td) { 
      return td.children.map(function(child) { 
       return child.content; 
      } 
       ); 
     }).join(',')); 
    }); 
    in_csv = in_csv.join('\r\n'); 

    fs.writeFile('dates.csv', in_csv, function(err){ 
     if(err){ 
      return console.error(err); 
    } 
}); 



C:\home\node\codes>cat dates.csv 
2016-04-28,RLYUDP-DP,RELIANCE FIXED HORIZON FUND XXX SERIES 18-- DIVIDEND PAYOUT,F204KB1254,10.0000,KARVY,2016-04-28,RLYUGP-GR,REL 
IANCE FIXED HORIZON FUND XXX SERIES 18- GROWTH,YUGP,10.0000,KARVY,2016-04-28,UTCXDP-DP,UTI-CAPITAL PROTECTION ORIENTED SCHEME - SE 
RIES VII - IV 1278 DAD PLAN,CXDP,N,INF789FC1691,10.0000,KARVY 
C:\home\node\codes> 
関連する問題