株取引に欠かせない情報収取、皆さんはどうしていますか?今回は、誰でも簡単にYahoo!ファイナンスの株価情報をスクレイピングする方法をご紹介します。使用するのはWebスクレイピングツールの「Octoparse(オクトパス)」です。
まだOctoparseに登録していない方は、こちらのページからご登録ください。本当に簡単で、プログラミング未経験でも問題ないのでぜひ参考にしてみてください。
筆者はITエンジニアとしてデータ収集基盤の構築に携わってきましたが、株価データの収集には大きく分けて3つの方法があります。
- ノーコードツール(Octoparse) — プログラミング不要、テンプレートで数百銘柄を一括取得
- Google Sheetsの関数(IMPORTHTML/IMPORTXML) — 少数銘柄をスプレッドシートに直接表示
- AI活用 — AIエージェントに指示して収集から分析まで自動化
どれが最適かは「何銘柄を、どのくらいの頻度で、どう使いたいか」によって変わります。本記事では3つすべてを解説するので、あなたの目的に合った方法を選んでください。
Octoparse(オクトパス)とは?ノーコードスクレイピングツール
まずは簡単に、Octoparseについてご紹介します。OctoparseはWeb上にあるさまざまな情報を自動的に取得する技術である、Webスクレイピングを実行するクラウドツールです。
通常、WebスクレイピングはPython(パイソン)などのプログラミング言語を使い、データを収集するプログラムを組む必要があります。しかしOctoparseならプログラムを組む必要はなく、データを取得したいサイトのURLを指定し、ボタンを数回クリックするだけで誰でも簡単にWebスクレイピングを実行できます。
そんなOctoparseを使って株価情報を収集すれば、データ分析にかかる時間を大幅に削減できます。なぜなら、データ分析で最も面倒かつ時間のかかる作業とは情報収集だからです。
また、情報収集のコスト削減にもなります。例えばYahoo!ファイナンスで株価情報を自動スクレイピングするには、有料のVIP倶楽部に入会しなければいけません。月額は2,000円以上なので、決して安くない金額です。
一方、Octoparseの無料プランならWebスクレイピング1回あたり最大1万レコードのデータを取得できます。株価情報を収集したい株主にとって、これほど便利なツールはないかもしれません。
Octoparseを使ってYahoo!ファイナンスの株価情報をスクレイピングする方法
それでは、株価情報をスクレイピングする方法をご紹介します。ちなみにOctoparse WebスクレイピングツールにはYahoo!ファイナンスの株価情報を自動取得するテンプレートが用意されています。ゼロからタスクを作る必要はないので、より簡単に株価情報をスクレイピングできるのが魅力です。
Octoparse(オクトパース・オクトパス)のYahoo!ファイナンステンプレートで取得できる主なデータは以下のとおりです。
https://www.octoparse.jp/template/yahoo-finance-stock-scraper
| 取得データ項目 | 内容 | 活用例 |
|---|---|---|
| 銘柄コード | 証券コード | データ識別 |
| 銘柄名 | 企業名 | リスト整理 |
| 現在値 | 株価 | 価格モニタリング |
| 前日比 | 値動き | トレンド分析 |
| 始値・高値・安値 | 四本値 | テクニカル分析 |
| 出来高 | 取引量 | 流動性の指標 |
| 時価総額 | 企業価値 | スクリーニング |
| PER・PBR | 投資指標 | バリュエーション分析 |
使い方:
Octoparseを起動したら検索窓に「yahoo」と入力します。

Yahoo!ファイナンス(海外版)のテンプレートタスクが表示されるので、テンプレートをクリックします。

「パラメーター」の部分に、株価情報を収集したい銘柄のコード(4桁の数字)を入力します。ここで注意点があります。

株価情報の収集元は海外版のYahoo!ファイナンスです。コードを数字だけで入力すると、それに該当する海外銘柄の株価情報を収集してしまいます。
そのため、各コードの末尾に「.T」を追加し、入力した銘柄コードが日本の株式市場を対象にしていることを示してください。今回は東証上場銘柄一覧ファイルを使い、コード番号が若い順に100銘柄の株価情報を収集します。
以下はGoogleスプレッドシートを使って銘柄コードの末尾に「.T」を一括追加する方法です(エクセルでも同じ操作で追加できます)。

末尾に「.T」を追加した銘柄コードを用意したら、これをテンプレートタスクの「パラメーター」に貼り付けます。それぞれの銘柄コードが改行された状態でOKです。ここまで完了したら「実行」をクリックします。
次に表示される画面では、タスクの実行方法を「ローカル抽出」または「クラウド抽出」から選択できます。データ量が多いため今回はクラウド抽出を選択しました。ちなみにクラウド抽出は有料プランの限定機能となります。無料プランの場合はローカル抽出を選択してください。

これでYahoo!ファイナンスから株価情報を収集するタスクが実行されました!あとはタスクが完了するのを待つだけです。実行画面ではタスクの実行状況を確認できます。

タスクの実行が完了したら、任意のフォーマットでデータをエクスポートしましょう!
Yahoo!ファイナンスの株価情報をPythonでスクレイピング方法
ここまで紹介したノーコードの方法がどれほど手軽かを実感していただくために、Pythonを使って株価データを取得する方法もご紹介します。
Pythonで株価を取得する場合、最も手軽なのはyfinanceライブラリです。Yahoo!ファイナンスのデータに対応しており、数行のコードで株価情報を取得できます。
ステップ1. ライブラリをインストールする
まず、必要なライブラリをインストールします。yfinanceは株価取得用、pandasは取得したデータを表形式で扱うためのライブラリです。
ステップ2. 単一銘柄の株価を取得する
以下のコードで、特定の銘柄の株価を取得できます。ここではトヨタ自動車を例にしています。
python
ここでも、ノーコードのテンプレートと同様に、日本株は銘柄コードの末尾に「.T」を付ける点に注意してください。「.T」を付けないと、同じ番号の海外銘柄が取得されてしまいます。
ステップ3. 複数銘柄をまとめて取得する
複数の銘柄を一度に取得することも可能です。以下はトヨタ・ソニー・ソフトバンクグループの3銘柄を一括取得する例です。
python
periodの値を変えれば、取得期間を自由に調整できます(例:"1d"=1日、"5d"=5日、"1mo"=1ヶ月、"1y"=1年)。
Pythonで取得する際の注意点
ただし、Pythonでの株価取得にはいくつかのハードルがあります。
まず、実行環境の構築(Pythonのインストール、ライブラリの導入)が必要です。プログラミング未経験の方にとっては、この最初のステップが大きな壁になります。
また、yfinanceは非公式ライブラリのため、Yahoo!側の仕様変更によって突然動かなくなるリスクがあります。その場合、自分でコードを修正しなければなりません。
日々忙しい投資家にとって、株価収集のためにPythonの学習やコードのメンテナンスに時間を割くのは、効率的とは言えません。「コードのメンテナンスに時間をかけたくない」「プログラミング環境を整えるのが面倒」という方は、前述のOctoparse(オクトパース・オクトパス)のテンプレートの方が確実で手軽です。登録からわずか数十分で、数百・数千の株価情報を取得できます。
Google Sheetsの関数でYahoo!ファイナンスの株価を取得する方法
「数銘柄だけをスプレッドシートに表示したい」という場合は、Google SheetsのIMPORTHTML関数やIMPORTXML関数が便利です。プログラミング不要で、関数を1つ入力するだけで株価データを取得できます。
IMPORTHTML関数で株価ランキングを取得
Yahoo!ファイナンスの株式ランキングなど、表形式のデータはIMPORTHTML関数で丸ごと取得できます。
第2引数を「table」、第3引数を「1」とすると、ページ内の1番目の表が取得されます。目的の表が出ない場合は、数字を2、3…と変えて試してください。
IMPORTXML関数で特定銘柄の株価を取得
特定銘柄のピンポイントな株価は、IMPORTXML関数とXPathで取得します。
XPathはChromeの「検証」→対象要素を右クリック→「Copy XPath」で取得できます。
Google Sheets関数の限界
手軽な反面、IMPORTHTML/IMPORTXMLには弱点があります。
- 動的サイトに弱い — JavaScriptで生成される株価は取得できないことがある
- 構造変更で壊れる — サイトのHTML構造が変わると関数が動かなくなる
- 大量取得に不向き — 数十銘柄を超えるとシートが重くなり、更新も遅延する
数銘柄を手軽に見るなら関数、数百〜数千銘柄を安定的に取得するならOctoparseテンプレート、という使い分けが実用的です。
Google Sheetsでのスクレイピングについては、スプレッドシートでのWebスクレイピング方法でも詳しく解説しています。
2026年最新:AIでYahoo!ファイナンスの株価収集を自動化する
2026年は、AIを活用したYahoo!ファイナンススクレイピングが新たな選択肢として登場しています。
Octoparse(オクトパース・オクトパス)のMCP AI機能を使えば、ChatGPTやClaudeなどのAIエージェントがOctoparseのスクレイピング能力を直接呼び出し、株価データの収集から分析までを自律的に実行できます。
たとえば、AIエージェントに次のような指示を出すだけで、データの収集→整理→分析→レポーティングまでが自動化されます。
「東証プライムの主要50銘柄の株価を毎日収集し、前日比でプラス5%以上値上がりした銘柄を抽出して、出来高の多い順にスプレッドシートにまとめて」
従来なら、株価のスクレイピング設定→実行→前日比の計算→フィルタリング→出来高でのソート→出力のすべてを人間が手作業(またはPythonコード)で行う必要がありました。MCP AI機能を使えば、人間は目標設定だけを行い、AIが自律的に全工程を実行します。
日々の株式市場のモニタリングや、ポートフォリオの定点観測など、繰り返し発生するデータ収集業務を大幅に効率化できます。
参考:Octoparse MCP AI|AIとWebスクレイピングの最新動向
よくある質問(FAQ)
Q1. Yahoo!ファイナンスのスクレイピングは無料でできますか?
Octoparse(オクトパース・オクトパス)の無料プランなら、1回あたり最大1万レコードまで無料で株価データを取得できます。Yahoo!ファイナンス公式のVIP倶楽部(月額2,000円以上)よりコストを抑えられます。
Q2. Yahoo!ファイナンスのスクレイピングにプログラミングは必要ですか?
いいえ。Octoparse(オクトパース・オクトパス)のテンプレートを使えばプログラミング不要です。少数銘柄ならGoogle SheetsのIMPORTHTML関数でも取得できます。
Q3. 日本株の株価を取得するときの注意点は?
Octoparseの海外版テンプレートやyfinanceを使う場合、日本株は銘柄コードの末尾に「.T」を付ける必要があります(例:トヨタ=7203.T)。
Q4. Google SheetsとOctoparse、どちらで株価を取得すべきですか?
数銘柄を手軽に見るならGoogle Sheetsの関数、数百〜数千銘柄を安定的に取得するならOctoparse(オクトパース・オクトパス)のテンプレートがおすすめです。
Q5. Yahoo!ファイナンスの株価をAIで分析できますか?
はい。Octoparse(オクトパース・オクトパス)のMCP AI機能を使えば、AIエージェントが株価収集から分析・レポート作成まで自律的に実行できます。
まとめ:Yahoo!ファイナンススクレイピングは目的で使い分ける
ここまで、Yahoo!ファイナンスの株価をスクレイピングする3つの方法を解説してきました。改めて整理すると、こうなります。
数銘柄を手軽にスプレッドシートで見たい → Google SheetsのIMPORTHTML/IMPORTXML関数。ただし動的サイトや大量取得には弱い。
数百〜数千銘柄を安定的に取得したい → Octoparse(オクトパース・オクトパス)のテンプレート。銘柄コードを貼り付けるだけで一括取得でき、スケジュール実行で定期収集も自動化できます。
収集から分析まで丸ごと自動化したい → MCP AIでAIエージェントに任せる。
筆者の経験上、株価データの収集で最も大切なのは「継続性」です。一度だけ取得するなら手作業でもいいですが、毎日・毎週と続けるなら、自動化できる仕組みが不可欠です。
ここで見逃せないのがコストです。Yahoo!ファイナンスで株価情報を自動取得するには、本来は月額2,000円以上のVIP倶楽部への入会が必要です。一方、Octoparseの無料プランなら、1回あたり最大1万レコードを無料で取得できます。継続的に株価を収集する投資家にとって、このコスト差は大きいはずです。
まずはOctoparse(オクトパース・オクトパス)の無料版で、あなたが注目している銘柄の株価を集めてみてください。
競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力
コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出
Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始
クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握
MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫
クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール



