【Webスクレイピング】PythonでWeb上の会社四季報データを取得してみた

ファンダメンタルズ分析用に某証券会社が公開している会社四季報のデータをPythonでダウンロードしてみました。

実行環境

  • Windows 7 Home Premium SP1
  • Google Chrome(バージョン:44.0.2403.157 m)
  • Python(バージョン:3.4.3)
  • chromedriver(バージョン:2.19)
  • cssselect(バージョン:0.9.1)
  • lxml(バージョン:3.4.4)
  • selenium(バージョン:2.47.1)

取得予定の情報

証券会社のWebページから以下のデータ(四季報は3ヶ月毎に更新される)を取得し、CSV形式でファイルに出力する処理を作っていきます。

・銘柄名
・現在株価
・決算月
・業績見通し
・トピックス
・外国人持ち株比率
・投信持ち株比率
・自己資本
・自己資本比率
・利益剰余金
・有利子負債
・営業CF
・現金等

プログラムの主な流れ

1.ログイン処理

2.株式タブを押下

3.検索ボックスに銘柄コードを入力して押下

4.株価情報タブに移動し「銘柄名」、「現在株価」を取得

5.四季報の概要タブに移動し「決算月」、「業績見通し」、「トピックス」、「外国人持ち株比率」、「投信持ち株比率」を取得

6.四季報の業績タブに移動し「自己資本」、「自己資本比率」、「利益剰余金」、「有利子負債」、「営業CF」、「現金等」を取得

ログイン処理

証券会社のページにアクセスしユーザーID、パスワードを入力してログインボタンを押下する処理を作ります。

memo_000017

株式タブを押下

ログイン後は以下のページに移動するので「株式」タブを選択する処理を作ります。

memo_000018

検索ボックスに銘柄コードを入力して押下

銘柄コードを入力して検索ボタンを押下する処理を作ります。

memo_000019

株価情報タブに移動し「銘柄名」、「現在株価」を取得

CSSPATHを指定して情報を取得します。

memo_000020

四季報の概要タブに移動し「決算月」、「業績見通し」、「トピックス」、「外国人持ち株比率」、「投信持ち株比率」を取得

CSSPATHを指定して情報を取得します。

memo_000021memo_000023

四季報の業績タブに移動し「自己資本」、「自己資本比率」、「利益剰余金」、「有利子負債」、「営業CF」、「現金等」を取得

CSSPATHを指定して情報を取得します。

memo_000022

ソースコード

(2016/03/13:出力ファイルに改行が含まれるバグ修正)

shokencode.txtに書かれてある銘柄コードの銘柄を対象に取得した情報をファイルに出力しています。んで、パスワード直書きはホントは良くないんだけど暗号化とか手入力とか面倒くさかったのでやめました。

shokencode.txt内容

例えば、東京電力(9501)とPCIホールディングス(3918)のデータが欲しい場合はこんな感じのテキストファイルを作成すればOK。

memo_000024

実行方法

コマンドプロンプトを起動しプログラムファイルが保存されているフォルダに移動してから「python ファイル名」で実行する。

実行結果

取得したデータは、data.txtにCSV形式で出力されます。

memo_000025

いい感じにデータ取れてるんじゃないでしょうか。ブラウザが起動するのが嫌という方はPhantomjsを導入すると良いでしょう。

以上

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。