0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【実測・34秒で221件取得】AIでYahoo!ファイナンスの株価の自動取得方法を徹底解説

0
Last updated at Posted at 2026-10-16

株価情報収集とは、銘柄コード、現在値、始値、高値、安値、終値、出来高などを、比較・分析しやすい形で継続的に取得することです。Yahoo!ファイナンスを毎日開き、保有銘柄の数字をExcelへコピーしているなら、その作業は手動入力、表計算機能、API、Python、ノーコードツールのいずれかで効率化できます。

先に結論をまとめると、1〜3銘柄を時々確認するだけなら手作業やExcelでも十分です。Pythonで分析まで行うならyfinance、日本株の公式データを重視するならJ-Quants API、コードを書かずに複数銘柄を同じ形式で集めたい場合はOctoparse(オクトパース・オクトパス)の専用テンプレートが選択肢になります。

ただし、「最新株価」と「リアルタイム株価」は同じではありません。表示や配信には遅延があり、データの利用条件も提供元ごとに異なります。投資判断や自動売買に使う場合は、証券会社や正規データベンダーが提供する情報を優先してください。

本記事はデータ収集方法の解説を目的としたもので、特定銘柄の売買を推奨するものではありません。対象サイトの利用規約、データの権利、再利用条件を確認したうえで利用してください。

株価情報収集では何を取得する?

株価情報収集で扱うのは、現在値だけではありません。目的に応じて、次のような項目を組み合わせます。

項目 内容 主な用途
銘柄コード 上場銘柄を識別するコード 複数データの結合、銘柄管理
銘柄名 企業・ETFなどの名称 一覧の可読性向上
現在値 画面または配信時点の価格 ポートフォリオ確認
始値・高値・安値・終値 OHLCと呼ばれる基本的な価格 値動きやチャート分析
前日比・騰落率 前営業日からの変化 上昇・下落銘柄の抽出
出来高 売買が成立した数量 流動性や注目度の確認
時価総額 株価と発行済株式数から見た企業価値 企業規模の比較
PER・PBR 代表的な株価指標 バリュエーション分析
取得日時 データを取得した時刻 鮮度確認、履歴管理

複数銘柄を継続的に追う場合、取得日時は特に重要です。同じ「現在値」でも、取得した時刻が違えば単純比較できません。収集結果には必ずタイムスタンプを残し、データが日足なのか、遅延値なのか、リアルタイム配信なのかも記録しておきましょう。

Yahoo!ファイナンスから株価を収集する方法は?

代表的な方法は、手作業、公式ダウンロード、Excel、Python/API、ノーコードツールの5系統です。どれか一つが常に正解なのではなく、銘柄数、更新頻度、必要な鮮度、プログラミング経験によって適した方法が変わります。

方法1:画面から手作業でコピーする

最も簡単なのは、Yahoo!ファイナンスで個別銘柄ページを開き、必要な数字をExcelへ貼り付ける方法です。設定が不要なので、数銘柄を一度だけ確認する用途には向いています。

一方、銘柄が増えるほど、コードの取り違え、桁の入力ミス、取得時刻のばらつきが発生しやすくなります。毎日同じ作業を繰り返す用途では、手作業の時間よりも検算や修正の負担が大きくなります。

方法2:公式のダウンロード機能を使う

Yahoo!ファイナンスは、株価データを必要とする利用者に対し、VIP倶楽部の「時系列データダウンロード」を案内しています。公式に用意された方法で履歴データを取得し、Excelで分析したい人に向いています。

メリットは、WebページのHTML構造を解析する必要がなく、表形式のデータとして扱いやすいことです。反対に、利用できる機能や対象範囲はサービスの契約条件に従う必要があり、自由な項目設計や複数サイトを横断する収集には向きません。

方法3:Excel・Googleスプレッドシートを使う

Excelには株価データ型、STOCKHISTORY関数、Power Queryなどの選択肢があります。取得した数字をそのまま計算式、ピボットテーブル、グラフに渡せる点が強みです。

ただし、使用できる機能はMicrosoft 365の契約やExcelのバージョンによって異なります。また、海外株と日本株で対応状況が異なり、期待した銘柄が認識されず#N/Aになる場合もあります。

GoogleスプレッドシートではGOOGLEFINANCE関数やApps Scriptを利用できますが、取得できる市場・項目・更新頻度には制限があります。HTMLを直接参照するIMPORTHTMLやIMPORTXMLは、JavaScriptで描画されるページや構造変更に弱いため、継続運用する場合は定期的な確認が必要です。

方法4:yfinanceや株価APIを使う

「yahoo finance api 日本株」と検索すると、Pythonライブラリのyfinanceを使う例が多く見つかります。yfinanceはAPIキーなしで試せる非公式ライブラリであり、Yahoo公式のAPIではありません。

日本株では、証券コードに東京証券取引所を表す.Tを付ける形式が一般的です。例えばトヨタ自動車は7203.T、ソニーグループは6758.Tと指定します。

import yfinance as yf

symbols = ["7203.T", "6758.T", "9984.T"]

prices = yf.download(
    symbols,
    period="1mo",
    interval="1d",
    auto_adjust=True,
    progress=False,
)

prices.to_excel("japan_stock_prices.xlsx")

短いコードで複数銘柄を取得し、Excelへ保存できるのは大きな利点です。一方、非公式ライブラリであるため、データ元の仕様変更、欠損、列構造の変更に備える必要があります。複数銘柄では列が階層構造になる場合もあるので、実際のprices.columnsを確認してから後続処理を実装しましょう。

日本株の公式データを重視する場合は、JPXグループが提供するJ-Quants APIが候補です。株価四本値、上場銘柄一覧、財務情報などをAPIで取得できます。ただし、取得可能期間、更新タイミング、呼び出し回数はプランによって異なります。売買注文やより高いリアルタイム性が必要なら、契約中の証券会社が提供するAPIも比較対象に入ります。

方法5:Octoparseで株価スクレイピングを自動化する

PythonやVBAを書かずに複数銘柄を同じ形式で整理したい場合は、ノーコードのWebスクレイピングツールが候補になります。OctoparseのYahoo Finance向けテンプレートを使えば、ゼロから抽出フローを設計する手間を減らせます。

専用テンプレートの利点は、入力項目と出力項目があらかじめ設定されていることです。銘柄コードを用意し、取得結果を確認して実行するため、HTML、XPath、Pythonの知識がなくても始めやすくなっています。

株価情報収集の方法を比較すると?

選定時には「無料かどうか」だけでなく、データの範囲、鮮度、自動化、保守、出力先を同時に比較します。

方法 日本株 コード 複数銘柄 定期実行 Excel/CSV 主な長所 主な注意点
手作業 対応 不要 △ × ○ すぐ始められる 転記ミス、継続作業に不向き
公式ダウンロード 対応 不要 △ △ ○ 正規の取得手段 契約・対象機能を確認
Excel / Google Sheets 機能による 一部必要 ○ △ ○ 分析表へ直接連携 市場・バージョン・更新制限
yfinance 対応例あり 必要 ○ ○ ○ 無料で試作しやすい 非公式、仕様変更、利用条件
J-Quants / 証券会社API 対応 必要 ○ ○ 実装次第 公式性・業務連携 登録、プラン、実装が必要
Octoparse テンプレートによる 不要 ○ ○ ○ ノーコード、テンプレート 対象サイトの条件、保守確認

目的別に整理すると、次のように選びやすくなります。

  • 数銘柄を時々確認する:手作業またはExcel
  • 過去の日足をPythonで分析する:yfinanceまたはJ-Quants API
  • 正規データを業務システムへ組み込む:J-Quantsまたは証券会社API
  • コードを書かずに複数銘柄を定期収集する:Octoparse
  • 売買判断や注文へ直結させる:証券会社などの正規配信サービス

Octoparseが株価情報収集に向いている理由は?

株探やYahoo!ファイナンスなどから複数銘柄の株価、出来高、前日比などを収集する場合、手作業では時間がかかり、PythonやAPIを利用するにはプログラミング知識や設定・保守の手間が必要です。

そこでおすすめなのが、AIを活用して株価データを自動収集できるOctoparse(オクトパース・オクトパス)です。

Octoparseは、プログラミング不要でWebサイトから必要な情報を抽出し、ExcelやCSVなどに出力できるデータ収集ツールです。さらに、新しくリリースされたAI Agent機能により、従来のように収集項目や操作手順を一から設定しなくても、「欲しい株価データ」を自然言語で伝えるだけで、AIに収集作業を任せられるようになりました。

AI Agentで選べる3つのデータ収集方法

例えば、「トヨタ、ソニー、任天堂の最新株価、前日比、出来高を一覧にして」と指示するだけで、目的に応じて次の3つの方法からデータ収集を進められます。

① AIによるテンプレート提案: AIが収集目的に合った既存テンプレートを提案します。例えば、Yahoo!ファイナンス用のテンプレートを利用すれば、対象銘柄などの必要な条件を入力するだけで、あらかじめ設定された項目を効率よく収集できます。

② Browser Use: AIがブラウザを直接操作し、株価情報サイトを閲覧しながら必要なデータを探して取得します。複数のページを手動で開いて情報をコピーする手間を減らしたい場合に便利です。

③ Cloud Agent(Beta): AIが収集タスクの作成から実行まで自動で進めます。ユーザーが取得項目を一つずつ選択したり、複雑なワークフローを構築したりする必要がなく、自然言語で株価データの収集を始められます。

なぜ他のツールではなくOctoparseなのか?

Octoparseの強みは、単にAIでデータを取得できるだけでなく、収集作業を継続的に自動化しやすいことです。

開発・保守の負担を軽減: Python環境の構築やスクレイピングコードの作成が不要。AI Agentや既存テンプレートを使えば、初心者でも株価データの収集を始めやすくなります。

複数銘柄・複数サイトの収集に対応: 株価だけでなく、前日比、出来高、PERなど、対象サイトに掲載されている必要な項目をまとめて取得し、比較・分析に活用できます。

クラウドで定期収集できる: 対応する収集タスクにスケジュールを設定すれば、PCを起動し続けなくても毎日・毎週データを自動取得できます。

複数の収集手段を使い分けられる: AI Agentでうまく収集できない場合でも、既存テンプレートやカスタムタスクを検討できるため、サイトや用途に合わせて収集方法を変更できます。

実際の検証では、AI Agentを使って自動車関連の株価情報32件をわずか1分5秒で取得できました。取得時間や結果は対象サイト・収集条件によって異なりますが、従来の手動操作やタスク設定の手間を減らせることが分かります。

一方、ミリ秒単位のリアルタイム株価や注文執行に使うデータには、証券会社の公式APIなどが適しています。Octoparseは、複数銘柄の情報収集、市場調査、株価比較、定期的なデータ更新を効率化したい方に向いています。

  • Python環境を構築したくない
  • 複数銘柄を同じ列構成で整理したい
  • 毎日または毎週、同じ条件で収集したい
  • 取得結果をExcelで加工したい
  • コードのエラー対応や保守を減らしたい

一方、ミリ秒単位の行情、ティックデータ、注文執行を必要とする自動売買には向きません。そのような用途では、正規のリアルタイム配信や証券会社APIを使う必要があります。

Octoparse専用テンプレートで日本株を収集する方法

テンプレートを使う場合は、Webページ上で取得項目を一つずつ選択するカスタムタスクとは操作が異なります。基本の流れは「テンプレートを探す→パラメーターを入力する→実行環境を選ぶ→出力する」です。

Step 1:Octoparseへ登録・ログインする

Octoparseをダウンロードして起動し、アカウントへログインします。ホーム画面またはテンプレート一覧から、すぐに利用できるテンプレートを検索できます。

Step 2:Yahoo Financeテンプレートを検索する

検索欄へ「Yahoo Finance」と入力し、目的に合うテンプレートを選択します。実行前に、テンプレートの対象サイト、入力形式、実行モード、出力項目を確認してください。
data-scraping.png

Step 3:「実行」から収集方法を選ぶ

設定を保存したら「実行」をクリックし、ローカル収集またはクラウド収集を選びます。

  • ローカル収集:自分のパソコン上で実行します。少量データのテストや、まず結果を確認したい場合に向いています。実行中はOctoparseアプリを起動しておきます。
  • クラウド収集:Octoparseのクラウド上で実行します。複数銘柄、定期実行、パソコンを閉じた状態での収集に向いています。利用可否は契約プランとテンプレートの実行モードを確認してください。

最初から大量の銘柄を入力するのではなく、2〜3銘柄でテストし、コード、銘柄名、価格、通貨が正しいことを確認してから対象を増やすと安全です。

Step 4:収集結果を確認する

タスクが完了したら、データプレビューで次の点を確認します。ここでは、ただ34秒で221件のデータが取得された。

  1. 証券コードと銘柄名が一致しているか
  2. 価格と通貨が想定どおりか
  3. 前日比と騰落率が別の列になっているか
  4. 数値にカンマ、通貨記号、不要な空白が残っていないか
  5. 空欄や重複行がないか
  6. 取得日時を追跡できるか

yahoo-finance-scarping.png

Step 7:CSVまたはExcelへ出力する

「データエクスポート」からCSVまたはExcelを選びます。出力後にExcelで数値として計算する場合は、価格や出来高が文字列になっていないか確認してください。

継続的に保存する場合は、ファイル名やシートに取得日を入れるか、データ自体へ取得日時の列を追加します。日次データを一つの表へ追加すれば、値動きの比較や独自チャートの作成にも使えます。

Step 8:定期収集を設定する

クラウド収集を利用できる場合は、毎日、毎週、指定曜日などのスケジュールを設定できます。日本株の終値を記録するなら、市場終了直後ではなく、対象ページの更新が完了する時間も考慮して実行時刻を決めます。

短い間隔で何度も実行すれば正確になるわけではありません。必要な鮮度に合わせて頻度を設定し、対象サイトへ過度な負荷をかけないようにします。

Octoparse AI機能で日本株価情報を収集する方法「新機能」

Step 1:Octoparseへ登録・ログインする

Octoparseをダウンロードして起動し、アカウントへログインします。ホーム画面またはテンプレート一覧から、すぐに利用できるテンプレートを検索できます。

octoparse-login.png

Step 2:データの収集を開始

Octoparseホームページまたは自分アカウントのマイページでのAIアシスタントで自然言語だけでデータの収集を始めます。例えば、AIに「自動車の最新株価情報を収集して」と指示します。

data-enter.png

Step 3:データをエクスポート

ここでは、「Cloud Agent」モードを選んでデータの自動収集をご利用いただけます。タスクの実行が完了したら、「タスクを表示」をクリックし、データの確認とエクスポートを進められます。
cloud-agent-select.png

data-scarping-1.png

data-export.png

data-export2.png

Step 4:定期実行を設定

もし今後も定期的にデータを収集し、最新のデータに更新したい場合は、「定期実行」をクリックし、収集スケジュールを設定してください。
data3.png

取得した株価データをExcelでどう使う?

株価データは集めるだけでは価値になりません。Excelへ出力した後の用途を先に決めておくと、必要なフィールドも選びやすくなります。

値上がり・値下がり銘柄を抽出する

騰落率を数値へ変換し、降順に並べ替えると、その日に大きく上昇した銘柄を確認できます。条件付き書式を使い、プラスを赤、マイナスを青にすれば一覧性も高まります。

出来高の変化を確認する

当日の出来高を過去の平均出来高で割れば、通常より取引が増えている銘柄を見つけられます。ただし、比較する期間や株式分割の影響を考慮する必要があります。

株価推移をグラフにする

銘柄コード、取得日、終値を縦長形式で保存しておくと、ピボットテーブルや折れ線グラフを作りやすくなります。毎日のファイルを別々に保存するより、一つの履歴テーブルへ追加する設計の方が分析向きです。

独自の監視リストを作る

保有銘柄、高配当候補、決算発表予定、出来高急増など、目的ごとにシートを分けられます。元データを直接編集せず、分析用シートから参照する形にすると、再取得した際にも壊れにくくなります。

関連記事:
Yahoo!ファイナンススクレイピングの方法を徹底解説|ノーコード・Google Sheets・AIで株価データを収集【2026年版】

株価スクレイピングでは何に注意する?

株価スクレイピングは、技術的に取得できるかだけで判断してはいけません。データ提供元の利用条件、著作権、アクセス負荷、再利用範囲を確認する必要があります。

特にYahoo! JAPANは、Yahoo!ファイナンス掲載情報をプログラムで機械的に取得する行為を禁止すると公式ヘルプで案内しています。また、掲載情報の転用、複製、外部配信、販売を含む商用利用にも制限があります。

したがって、対象が日本版Yahoo!ファイナンスの場合は、公式に案内されているダウンロード機能などを優先してください。海外版Yahoo Finance、yfinance、第三者テンプレートを利用する場合も、それぞれの最新の利用条件とデータの権利を確認します。

運用前には、最低限次の項目をチェックします。

  • 取得元は自動収集を認めているか
  • robots.txtだけで可否を判断していないか
  • 個人利用か業務・商用利用か
  • 取得データを社外へ共有・再配信するか
  • 必要以上に短い間隔でアクセスしていないか
  • データの遅延と取得時刻を記録しているか
  • 株式分割や配当調整の扱いが統一されているか
  • 欠損値や異常値を検出できるか
  • 正規データと定期的に照合しているか

よくある質問

質問1:Yahoo Finance APIで日本株を取得できますか?

検索結果で「Yahoo Finance API」と呼ばれているものには、非公式ライブラリや第三者APIが含まれます。PythonのyfinanceはYahoo公式APIではありませんが、7203.Tのようなティッカーで日本株を取得できる例があります。公式性や業務利用を重視する場合は、J-Quantsや証券会社APIも比較してください。

質問2:日本株の銘柄コードに「.T」が必要なのはなぜですか?

.Tは、Yahoo Finance上で東京証券取引所の銘柄を区別するために使われるサフィックスです。数字だけでは別市場のシンボルとして解釈される可能性があるため、銘柄名、市場、通貨まで確認します。

質問3:エクセルで株価を自動取得できますか?

Excelの株価データ型、STOCKHISTORY、Power Query、VBA、外部APIなどで自動取得できます。ただし、日本株対応、利用できるExcelのバージョン、更新頻度が方法ごとに異なります。複数銘柄を継続的に取得する場合は、APIやノーコードツールとの連携も検討してください。

質問4:Octoparseで株価情報を取得するのにプログラミングは必要ですか?

専用テンプレートを利用する場合、基本的な操作にプログラミングは必要ありません。銘柄コードなどのパラメーターを入力し、ローカル収集またはクラウド収集を選び、取得結果をExcelやCSVへ出力します。

質問5:Octoparseで複数銘柄を一括収集できますか?

複数入力に対応したテンプレートであれば、銘柄コードをまとめて指定できます。テンプレートごとに入力形式と上限が異なるため、実行前に仕様を確認し、まず少数銘柄でテストしてください。

質問6:AI Assistantを使えば株価収集を完全自動化できますか?

AI支援機能やMCPを使うと、タスク調整、フィールド整形、取得後の比較やレポート作成を効率化できます。ただし、データの正確性、対象サイトの利用条件、実行失敗の監視まで自動的に保証されるわけではありません。重要な数値は元データと照合してください。

まとめ

Yahoo!ファイナンスを含む株価情報収集の方法は、必要な銘柄数、更新頻度、データの鮮度、プログラミング経験によって選び分けます。

  • 少数銘柄を時々確認するなら、手作業やExcel
  • Pythonで分析や試作を行うなら、yfinance
  • 日本株の公式データを重視するなら、J-Quantsや証券会社API
  • 複数銘柄をコードなしで収集・出力するなら、Octoparseの専用テンプレート
  • 収集後のフィールド修正やAI分析までつなげるなら、AI Field FixerやMCP

最初から大量収集を始めるのではなく、2〜3銘柄で取得結果を検品し、データの鮮度と利用条件を確認してから対象を増やすのが安全です。株価データは「取れたか」だけでなく、「いつの値か」「継続して同じ条件で取れるか」「その用途で利用できるか」まで確認して初めて、分析に使えるデータになります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?