NodeでFTPからデータを読み取る

NodeでFTPからデータを読み取る記事のアイキャッチプログラミング

FTPでデータを公開されているところから、Nodeでデータを読み取る方法についてやっていきます。

FTPとは何か

まずFTPというのはFile Transfer Protocolのことで、ファイルの転送のためのプロトコルです。

しかしいつも目にするのはhttp(Hypertext Transfer Protocol)だと思います。

FTPとhttpを比べるとわかりますが、そもそもプロトコルが違います。
なので、GETリクエストなどではなくて、FTPに合わせたアプローチをする必要があります。

FTPからデータを取得する

データの取得先(NASDAQのティッカーシンボル)

今回はnasdaqから株のティッカーシンボルを手に入れたいと思います。

NASDAQティッカーの取得先は以下です。
ftp://ftp.nasdaqtrader.com/symboldirectory/nasdaqlisted.txt

FTPを扱うためのパッケージ

FTPを扱うためのパッケージであるftpを使っていきます。

ftpのインストールは以下で行います。

npm install ftp

FTPからデータにアクセスする

コードを見た方が理解できると思うので、コードだけ書いておきます。
細かい関数等はこちらのドキュメントでご確認ください。

ftp
An FTP client module for node.js
//requireとインスタンス
var FTPClient = require('ftp');
var c = new FTPClient();

//接続する
//ログインが必要な場合はhost意外にも与えてください
c.on('ready', function() {
   c.get('/symboldirectory/nasdaqlisted.txt', function(err, stream) {
        var content = '';
        stream.on('data', function(chunk) {
            content += chunk.toString();
        });
        stream.on('end', function() {
            console.log(content);
            c.end();
        });
   })
});

c.connect({
  host: "ftp.nasdaqtrader.com"
});

参考にしたサイト

Fs.readFile on FTP server
I've got some script in Node.js which is working when I run it on my computer but not when I'm on a server. I've got 2 servers: I run the webApplication on the ...

コメント

タイトルとURLをコピーしました