こんにちは
最近調べ物をしていて「yahoo_finance_api2」というヤフーファイナンスから日本株の株価データを取得できるライブラリを見つけたので使いかたについてサンプルコードと一緒に紹介したいと思います。
基本的にpandas-datareaderなどではアメリカ株もしくは任天堂やソニーといったアメリカに上場している日本企業の株価データしか取得できなかったのでこれは非常にありがたいですね!
事前準備
# ライブラリのインストール $ pip install yahoo_finance_api2 # JUPYTER LABの場合 !pip install yahoo_finance_api2
Pythonで東証の株価データを取得する
import sys
from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
import pandas as pd
#東証コードのリストを取得
code = 3647
my_share = share.Share(f'{code}.T')
symbol_data = None
try:
symbol_data = my_share.get_historical(share.PERIOD_TYPE_DAY,
100,
share.FREQUENCY_TYPE_HOUR,
1)
except YahooFinanceError as e:
print(e.message)
print(symbol_data)
df = pd.DataFrame(symbol_data)
print(df.head())
<実行結果>

これで東証に上場している日本株の株価データがスクレイピングできます。ただヤフーファイナンスは頻繁に仕様が変わるので、動かなくなる可能性は大なのであまりあてにしない方が良いとは思います。
関連記事:【Python】ヤフーファイナンスから日本株個別銘柄の株価データをスクレイピングする
株価関係のスクレイピングについてはMENTAにて相談受け付けておりますのでお気軽にご連絡ください。

コメント