はじめに
どうも、emonです。
今回は、YahooFinanceに保存されている情報をAPIを用いて取得します。
今回、APIをより扱いやすくする為、OSSのnode-yahoo-finance2を用いて取得してみようと思います。
■環境
- macOS
- Node.js
- npm(パッケージ管理)
- Express(WEBサーバ)
- javascript
目次
環境構築
-
package.json及び必要ライブラリのインストール
npm init npm install express npm install yahoo-finance2
-
アプリルートディレクトリ配下にmodulesフォルダを作成し、quate.jsを作成する。
-
app.jsを作成する。
-
以下のようなフォルダ構成になっていればOKです。
1.フォルダ構成|- modules |-- quate.js |- node_modules |- app.js |- package-lock.json |- package.json
APIを叩いてデータを取得
-
quate.jsに以下を追加する。今回は、例としてアップルの情報を取得する。
1./modules/quate.jsimport yahooFinance from 'yahoo-finance2'; // quote export const get = async () => { try { const data = await yahooFinance.quote('AAPL'); return data; } catch (e) { return e; } };
エンドポイントの作成
-
expressを用いてWEBサーバを構築する。
1.app.js/* 1. appにインスタンスにexpressを格納*/ const app = express(); /* 2. 3000番ポートで起動する。*/ const port = 3000; const server = app.listen(port, () => { console.log("listening to PORT:" + server.address().port); });
-
app.jsに'/quate/get'のルーティングを追加する。
1.app.jsimport * as quate from './modules/quate.js'; // quate router.get("/quate/get", (req, res, next) => { const quateGet = quate.get(); quateGet.then((result) => { res.json(result); }); });
動作確認
以上、YahooAPIを用いた株データの取得方法でした。