株価や決算データをウェブスクレイピングで一気に自動抽出する方法(Octoparseの使い方)【超有料級保存版】

2022年2月27日

Webスクレイピングで株価や決算データを自動で一気に抽出する方法(Octoparseの使い方)

株式投資の分析を行う際に、Excelを使っている方も多いと思いますが、今まで欲しいデータを1つずつ手入力していた方も多かったと思います。

1画面にまとまっている情報があれば、そのままExcelで何とかコピー&ペーストをしてから、マクロを使って成形して整えたりすることもできますが、もし1画面上に情報がまとまっておらず、別のページを呼び出して、コピペをしなければいけない場合は、ものすごく手間がかかっていたと思います。

 

    従来のやり方

 

この手間を無くし、一気に自動で行えるのが今回ご紹介する方法です!

誰でも簡単に仕えるので、ぜひご活用ください。

 

使用するソフトウェア

今回使用するソフトウェアはOctoparse(オクトパース)というものです。1万件までのデータであれば無料で使用できます。

まずこちらからダウンロードしてください。
https://www.octoparse.jp/Download/windows

インストールしてから、Octoparseを起動させた後、Octoparseのサイトへログインする必要がありますので、その新規登録の手続きは各自行ってください。
https://www.octoparse.jp/signup

今回は、決算発表データに加えて、PERや配当利回り等といった情報を別ページから抜き出し、それを1行にまとめて自動で抽出するやり方について説明します。

このやり方がわかれば、別の抽出にも応用できると思いますので、大変便利だと思います。

Octoparseの使い方

例として「株予報」サイトから2022年2月1日の決算データ+その他の情報、65件分を自動で抽出してみます。

データを抽出して作成したいExcel表は以下の通りです。

初めてOctoparse(ウェブスクレイピング)を使う方は、まず以下の手順を忠実に真似をして、どのような手順でデータ抽出を行うのかを理解してください。

1.まずはデータを抽出したいサイトのURLをコピーして、オクトパスに貼り付けます。

 

「抽出開始」ボタンを押すと自動でページの分析を行います。

 

2.抽出完了後に、下のデータープレビューを確認してください。

もしここで、自分の欲しいデータ形式で格納されている場合は、そのまま「ワークフローの生成」をクリックしてください。

もし、データープレビューのデータが、自分の欲しいものではなかった場合は、ワークフローを生成するボタンの下にある、「識別結果を切り替える」のボタンを何度かクリックしてください。

こちらも何度かクリックしていけば、自分の欲しいデータ形式になるはずです。

今回の場合は、特に問題ないので、一番最初に出た結果から、ワークフローを生成します。

ちなみに「ワークフロー」とは、オクトパスがデータを抽出する手順を目に見えるようにしたものです。

プログラミングなどをできなくても、この手順をいじくれば、カスタマイズすることができますが、基本的にはここを触る必要はありません。(SBI証券のデータを抽出するときには、ここを触る必要がありますが、今回は割愛します)

あと余談ですが、マネックス証券の銘柄スカウターのような、ログインしてからではないと使えないようなデーターベースからも抽出はできます。

ただし、オクトパス上にログインIDとパスワードを入れなければいけないので、セキュリティのところに一抹の不安があり、私はやらないようにしています。

今回の場合は、今表示されている画面から、さらにその画面の中にリンクされている別の画面を呼び出して、そこにあるPERや配当利回りのデータを取る必要があるので、以下の手順で作業進めていきます。

 

3. 不要な列を削除する(後でやってもOK)

 

項目にはズレが出ますが、最初は無視してください。

 

4.次のページに行きたいので、その手順をOctpurseに覚えさせます。
以下の図の通りです。

 

5.次のページに移りました。
まずは、「株価(現値)」を抽出しましょう。

 

正しく指定できると、下のフィールドに株価が表示されます。

 

6.同じ手順で、次は「目標株価」を抽出します。

同じく、正しく指定できると、下のフィールドに株価が表示されます。

この作業を繰り返します。
欲しい情報が全て指定し終わりました!

 

※もし、指定し間違えた場合は、以下の通り「選択解除」してください。

 

7.全部指定が完了したら「実行」をクリック!
※今回の場合、右のワークフローの「ページネーション」を内を見れば分かりますが、「ループアイテム」として、
上記2、5、6の手順を繰り返し、1ページ目が終わると、次のページを自動でクリックしてくれます。
これにより、1~4ページまでの全てのデータを自動で抽出してくれます。

 

 

8.「ローカル抽出」をクリック

 

9.自動で抽出が開始されます。

 

10.実行完了後は、「データをエクスポート」をクリック

 

11.好きなデータ形式を選んでください。

 

12.最後にExcelを整形すれば、完成です!
欲しいデータが、全部1行でまとまってます!

以上が基本的な操作です。

 

 

サイトによっては、微妙にワークフローの調整が必要

今回の「株予報」サイトは、非常に分かりやすくデータ抽出をできますが、サイトによっては、自動識別で「次のページ」設定ができないため、手動で調整したり、次のページボタンではなく「もっと見る」ボタンを設定したりするケースがあります。

 

「重複」表示のケース

データ抽出の段階で、サイトにより、「重複」と表示されるケースがあります。
「重複」とは同じデータを何度も取得している状態なので、その場合は、ワークフローの調整が必要です。
調整のやり方は、説明できないので、各自でワークフローの内の動作ブロック(「データを抽出」等)を動かして、試してください。重複の発生は「ループアイテム」の設定の問題だと推測できます。

 

1ページしか取得してくれないケース

SBI証券の決算スケジュールページで、ウェブスクレイピングをデフォルトでやると発生します。
以下の図のように、「次のページ」のブロックを、「ループアイテム」の枠内に入れると、次のページへ遷移してくれます。

 

もしくはウェブ上にある「次へ」をボタンに対して、「操作のヒント」の「単一要素をループクリックする」設定を行う必要があるケースもあります。

あと上図にある「操作のヒント」はとても大事です。
基本的には、このヒントにある選択肢を選べば大丈夫です。

 

どうしてもうまく自動でデータを抽出できない場合は、カスタマイズモードを利用する

 

例えば株探からデータを抽出したい時に広告が邪魔で一発で抜けないケースがあります。

 

その場合は「カスタマイズモード」を使用しましょう。

 

使い方としては、まずExcelで以下のような表を作成しておく必要があります。
B列には、株探でデータを抜きたい「ページのURL」、但し銘柄コードを抜いておきます。
※幸いにも株探の場合は、銘柄コードが一番右に付くタイプなので、URLを作りやすいです。

そしてC列に「データを抜きたい銘柄コード」

それらをCONCATENATE関数で合体させて出来上がったURLを値化して右の方に貼り、

それをコピーしてOctoparseに貼り付けします。

 

「保存」ボタンを押すと以下の画面に遷移します。ここでは「Webページの自動識別」は不要です。
このページ内にある欲しいデータをクリックして、テキスト抽出していきます。もし別のページに行きたい場合は、「リンクをクリック」で別ページに行き、そのデータを入手してください。

そして最後に「実行」しましょう。
あとは自動で、カスタマイズモードで貼り付けたURLの分だけループしてデータを抽出してくれます。

 

無料版ではタスクは10個まで保持できる

ダッシュボードをクリックするとタスクの一覧が確認できます。
定期的に行うタスクは、ここをクリックすればすぐに呼び出せます。

不要なタスクは、削除してください。

このような形で、自動でデータを抽出できるので、時間短縮、作業の手間短縮にもなり大変便利です!

ぜひ活用してみてください!

 

お願いごと

読んだ情報が参考になったら、ぜひとも以下をポチっと応援クリックしてください!^_^

株式投資ランキング



良い記事を書く励みになります!