2019.10.22この記事は約20分で読めます。株式投資をやっていると、当然企業の決算情報や適時開示情報を確認することがあると思いますが、めんどくさがりな私としてはそれらの情報を1つ1つチェックするのは大変なので、プログラムで自動チェックしたいと思うところです。適時開示情報(XBRL)は、こちらの金融庁が提供している有価証券報告書などの開示書類を閲覧するサイト(EDINET)からダウンロードできるのですが、大量のデータをダウンロードしようと思うと大変でした。APIを提供してくれていました。望んでいたものに巡り会えたという感じです。APIを使って企業の適時開示情報を取得するプログラムを紹介したいと思います。APIEDINETは、こちらのページで結構親切にAPIの使い方を説明していくれています。基本的には以下のサイトに従いながらプログラムを書いていきたいと思います。API呼出しのサンプル金融庁は電子開示システム「EDINET」のAPIを公開しています。APIの使い方と、EDINETを使って有価証券報告書の検索や閲覧を行うサンプルプログラムを紹介しています。itref.fc2web.comrequests、jsonモジュールのインポートモジュールをインストールします。EDINETのページでは、requestsだけimportしておりますが、結果がjson形式で返ってくるので、jsonもインポートしておきます。APIに記載の通り以下のコードでデータ取得できます。レスポンス(JSON)の表示print(res.text)以下のような結果が得られます。※Warningが出るかもしれませんが、気にしなくて大丈夫です。実際のドキュメントのデータを取得するために、docID、docDescription、filerNameを使いたいので、上記のresをjsonに変換してpythonで扱えるようにします。result['docDescription'],result['filerName'])以下のような結果が得られます。先程のresultsデータの中には様々な適時開示情報が含まれているのですが、決算短信の情報にしぼりたいと思います。kessan.append(result)以下の3社の四半期報告書がありました。先程取得したresultsリストの0番目(サイバーエージェント)のXBRLデータを取得したいと思います。'S100FOJX'このdocidを使って、zipファイルを取得するコードを書きます。f.write(chunk)これで現在のフォルダに「S100FOJX.zip」というzipファイルができていると思います。zipファイルの解凍このzipファイルを手動で解凍しても良いのですが、それだとファイル数が増えたときに大変なので、解凍も自動化したいと思います。zipファイルの解凍にはzipfileというモジュールをインポートします。以下のコードで現在のフォルダに解凍されたフォルダが展開されます。existing_zip.extractall(docid)S100FOJXという名前のフォルダが出来上がり、以下のようなフォルダ構成になっているかと思います。先程のフォルダの中の「0101010_honbun_jpcrp040300-q2r-001_E05072-000_2019-03-31_01_2019-04-25_ixbrl.htm」というファイルに売上高、経常利益などが記載されていますので、そのhtmファイルをpythonで扱えるようにしたいと思います。フォルダ内のファイルを取得するのには、globというモジュールをインポートします。S100FOJX/XBRL/PublicDoc/0101010_honbun_jpcrp040300-q2r-001_E05072-000_2019-03-31_01_2019-04-25_ixbrl.htm以下のコードでhtmlファイルとして読み込むことができます。上記のコードでhtmlファイルとして読み込むことができたので、最後にBeautifuSoupでデータを取得したいと思います。print(p.text)以下のような結果が得られていると思います。---あとはスクレイピングと同じ要領ですね。ここからはスクレピングのテクニックなので、私の他の投稿を見ていただくか、以下の書籍で勉強してもらえればと思います。リンクまとめコード以上で、無事決算データをプログラムで取得できるようになりました。以下にまとめコードを書いておきます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。29アーカイブ2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月topix脱サラ、転職、副収入に役立つかもしれないことをブログに書き綴っています。29アーカイブ2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月topix脱サラ、転職、副収入に役立つかもしれないことをブログに書き綴っています。topixをフォローするスポンサーリンクタイトルとURLをコピーしました。