四季報データを無料ダウンロードし、Excelやcsv加工できる方法 Octoparseでのウェブスクレイピング【保存版】
四季報データを無料でダウンロードし、Excelやcsv加工できるようにする方法 Octoparseでのウェブスクレイピング
パソコンで株式投資の分析をしていると、どうしても会社四季報のデータが欲しいことありますよね。
SBI証券などで会社四季報の情報は見れますし、データをコピペして入手することはできますが、その数が50とか100とかになると膨大な時間がかかるので、とてもじゃないですが、手動ではできません。
そんな時、「Webスクレイピング」という技術を使えば、自分の欲しい情報を自動でコピー&ペーストを反復してくれます。
一気に情報を抽出して、Excel上で加工したり分析することができるわけです。
誰でも簡単にそれを実現してくれるのがOctoparse(オクトパース)です。
Octoparseを使って会社四季報の欲しいデータを抜くことができます。
※Octoparseの使い方は、別の記事で紹介しているので、そちらをご覧ください。
GMOクリック証券がお勧め
会社四季報のデータが欲しい場合、例えば「会社四季報オンライン」の無料サイトから抽出することはできないので、必ずどこかの証券会社のページからデータ抽出することになりますが、GMOクリック証券がお勧めです。
GMOクリック証券をお勧めする理由は、
・サイトの構成がシンプルなので、動きが軽い
・四季報データ表示時のURL構造が他の証券会社と比較して圧倒的にシンプル → これ大事です。
・ログイン失敗に対する許容度が高い
→ Octoparseのワークフロー作成時に、もしミスがあって数回ログインに失敗しても問題ない
・今から詳細に説明するのがGMOクリック証券を使う方法なので、この説明通りにやれば、すぐにデータの抽出ができる
・使っている人が少ない = 新規に口座開設すれば、口座残高がゼロなのでリスクゼロ ※注1
・取引で使う場合は手数料が業界最安値水準 ※注2
ということで、GMOクリック証券に口座がない場合は、開設することをお勧めします
※注1:ウェブスクレイピングソフトにユーザIDとパスワードを入力しないといけないため、証券口座にお金が入っているとリスクが生じる可能性はゼロではありません。したがって残高ゼロの口座でやる方が良いと考えます。
※注2:もし今後、ウェブスクレイピングで使用した口座で実取引を行いたい場合は、パスワードを変更してから入金し、取引を行うようにしてください。
ログインが必要なサイトには、少しワークフローの修正が必要
ログインが必要なサイトには、ユーザIDとパスワードを入力する必要があります。
ですので、「株価や決算データをウェブスクレイピングで一気に自動抽出する方法(Octoparseの使い方)【超有料級保存版】」で説明してきたような、全自動でWebスクレイピングすることはできません。
あと、若干ワークフローの修正が必要になります。
修正と言ってもワークフローの順番を入れ替えるだけの簡単な作業なので、これから説明する手順通りやれば大丈夫です。
以下の説明をよく読んでください。
GMOクリック証券から四季報データをOctoparseで抽出する手順
1. 普通にログインして、四季報ページを開く
まずは普通にログインしてください。
そして「株式」のページから、四季報のタブをクリックして四季報情報を表示させたページを開きます。
2.このページのURLをコピーして、Excelに貼っておく
Excelには、以下のようなURL一覧を作成しておきます。
URLは3分割することになります。
1つめ https://kabu.click-sec.com/sec1-6/kabu/meigaraInfo.do?securityCode=
2つめ 4479
3つめ &selectItemTab=summary
この3つをCONCATENATE関数で合体します。
URLの構造を見れば分かりますが、証券コードを変えるだけで、複数の銘柄データを抽出できます。
証券コードは、自分が調査したい銘柄のものを用意してください。
一番右側には、値化させたURLを貼っておきます。
◆注意点◆
四季報ページ(GMOクリック証券)のURLですが、実は以下のように毎日赤字の部分が変化しています。
・https://kabu.click-sec.com/sec1-6/kabu/meigaraInfo.do?securityCode=4479&selectItemTab=summary
・https://kabu.click-sec.com/sec1-2/kabu/meigaraInfo.do?securityCode=4479&selectItemTab=summary
・https://kabu.click-sec.com/sec1-8/kabu/meigaraInfo.do?securityCode=4479&selectItemTab=summary
したがって、今回作成したタスクを保存しておき、前回と同じWebスクレイピングする場合でも、上記1から開始して、今日の「sec〇-〇」の数字を確認しておく必要があります。
以前、作成したままのURLでは、Octoparseが正しく動作しない(ユーザIDとパスワードを入力しても、URLが間違えており、目的のぺージが表示されないのでWebスクレイピングできない)ので注意してください。
※最初、この仕組みに気付かず罠にハマり、1時間ほど悩みました・・・。肝の部分です!
3.Octoparse起動
ここからOctoparsを起動します。
カスタマイズモードを選択。
4. カスタマイズモードでURLを貼り付け
以下のようにExcelで作成したURLを貼り付けます。
いつもですと、この後、自動で貼り付けしたURLへジャンプしますが、今回の場合はログインしないといけないので、ユーザIDとパスワードを入力することになります。
5. ユーザIDとパスワードを入力
ユーザIDの欄をクリックし、「テキストを入力する」 を選択して、
ユーザIDを入力。同じようにパスワードも入力する。
6.ログイン成功
ログインが無事できると、以下の図になります。
7.右側にあるワークフローの「Webページをクリック」をクリック
以下の図のところをクリックしてください。
そうすると上記2で貼り付けした一番最初のURLの四季報がページが開きます。
この時点で、以下の図の右側にあるワークフローのタスクの順番を図のように上下入れ替えてください。
これをやらないと抽出実行時にエラーになります。
8.四季報データを抽出する
欲しい四季報データを選んで、テキストを抽出します。
もちろん、別タブにある「業績」のデータも入手できます。
9. 自動で一気にデータ収集する
一通りデータの指定が終わったら、右上の「実行」ボタンを押して、「ローカル抽出」をクリック。
そうすると、上記2で指定したURLの分だけ、以下のように自動でデータ収集します。
注意点:この自動抽出の動きは、必ず注視してください!
もし3回くらいログイン失敗を繰り返す場合は、すぐに停止してください。
さすがに10回以上失敗すると、口座がロックされる可能性があります。
10. Excelとしてデータエクスポート
抽出が終わったら、最後は「データをエクスポート」を選んで、Excelとして出力します。
基本的な説明は以上です。
抽出したデータは、「区切り位置」などを使って<外国><投信>のような余計な文字や記号を削除したり、文字化している数字を数値化したりする必要がありますが、このあたりはExcelテクニックになるので、各自でご対応ください。
また、毎回同じ作業を行う場合は、「記録マクロ」などを活用してマクロ化した方が良いと思います。
11.おまけ
ワークフローを作った時点では、上記の手順で正常に動きますが、2回目以降、同じタスクを起動しようとすると、正常に動かない可能性があります。なぜならば、ワークフローが「デフォルト」ですと、いきなり「テキストを入力1」になっているからです。
理想としては、「URLループ」の枠上にある+ボタンを押して、そこに「Webページを開く」を設置し、
下図の赤枠内のところに、ログインのトップページURLを入れておくと、スムーズに動きます。
※下図の例は、ログインのところだけ、URLループの枠外に出しています。この方が実際の手順に沿ったワークフローです。
同じタスクを使い、2回目以降の抽出する場合
なお、上述の通り、URLは毎日変更されるので、2回目以降、同じタスクを使用したい場合は、URLの入れ替えを行ってください。
URLの入れ替えは、「URLループ」の右側にある「…」をクリックすると、URLの一覧(赤枠)が表示されるので、そこで「Ctrl+a」「Del」で一気に古い内容を消してから、値にした最新のURLを貼り付けしてください。
GMOクリック証券の口座開設は、以下からできます
GMOクリック証券の利用をお勧めしますが、もし口座を持っていない場合は、以下のクリックより最短3分で申し込みが完了します。
GMOはネット専業証券なので手続きも早いです。
お願いごと
読んだ情報が参考になったら、ぜひとも以下をポチっと応援クリックしてください!^_^
良い記事を書く励みになります!
ディスカッション
コメント一覧
まだ、コメントがありません