Okada Hiroshi の blog

typo が多いです

EDINET から有価証券報告書・取引報告書をダウンロードしてくる CLI ツールを(node.jsで)作成しました。

株式投資をしていると、有価証券報告書を読んで分析する必要があります。

日本の会社の有価証券報告書は、EDINET という所からダウンロードできるようになっているのですが、 SSL 証明書が 政府認証基盤(GPKI) なので、ブラウザーによっては認証局を追加しないと警告がでたりして面倒です。

そのそも Webサイトをブラウザーで開いて、検索して、ダウンロードボタンを押してと、結構手間がかかって面倒くさいです。

もちろん探すと、いつくつかそれを簡単にできるようにしてあるサイトやサービスがあるのですが、どれも本格的すぎて今ひとつ僕の要求とは一致しませんでした。

そこで node.js でコマンドライン証券コード又は EDINET で指定しただけで、簡単にダウンロードできる CLI コマンドを作りました。

EDINETでは、平成31年3月下旬からEDINETに提出された書類を取得するAPI(EDINET API)の提供を予定しています。

ということで、それ以降だと、簡単に API を呼び出して書類を取得できそうですが、今はまだできないので

github.com

を利用して、ごりごり スクレイピング をすることにしました。

一応 npm として公開してあるのでもしよろしけば使ってみて下さい。

インストール方法

  • Node.js は 8.11 以上のものをインストールしてください

開発は、 ubuntu デスクトップ上で、10.8.0 Current で開発しています。

動作確認は Windows Server 2016 と macOS High Sierra でも行っています。

  • コマンドをインストールします。

グローバルではなくて適当なディレクトリを作ってそこに入れた方が良いでしょう。

$ mkdir 適当なディレクトリ
$ cd 適当なディレクトリ
$ npm i @toycode/getufo

使い方の例

$ npx getufo はてな
E32141, 39300, 株式会社はてな, カブシキガイシャハテナ, Hatena Co., Ltd
$ npx getufo E02144
$ npx getufo 7832
  • 引数を何も与えないとヘルプを表示します。
$ npx getufo

  Usage: getufo [options] <codes>

  Download financial statements from EDINET.

  Options:

    -v, --version          output the version number
    -f, --folder [folder]  Set download folder (default: current working directory)
    -n, --numpdf [num]     How many pdf files to download (default: 4)
    -h, --help             output usage information


    Codes are either security codes, EDINET codes or fund codes.

  Extra:
    Enter a part of the company name instead of the code to display
    a list of codes. (In this case, nothing is downloaded.)

リンク

www.npmjs.com

GitHub - HiroshiOkada/getufo: Download securities reports from EDINET

以上です。