Pythonで簡単なスクレイピング

スクレイピング(Scraping)とはWEBページから必要な情報を抜き出す作業をいいます。 今回はYahoo Japanファイナンスのページから日経平均株価を抜き出すプログラムを作成してみました。

Yahoo ファイナンスの日経平均株価の表示画面

 

Yahooホームページから日経平均株価を取得するプログラム

# プログラム名:scray01.py
# WEBページをスクレイピングするために BeatifulSoupライブラリを使用する
import urllib.request as request
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime,timedelta,timezone

# Yahoo ファイナンスのURL
ur1 = 'https://stocks.finance.yahoo.co.jp/stocks/detail/?code=998407.O'

response = request.urlopen(ur1)

bs = BeautifulSoup(response,'html.parser')

#日経平均株価が格納されている位置
stoksPrice = bs.select('.stoksPrice')[1].text

print(stoksPrice)

実行結果

ec2-user:~/environment/scray $ python scray01.py
22,173.14

日経平均株価を取得する事ができました。 プログラムの実行結果とホームページ記載の株価に差異があるのは、どちらもリアルタイムの情報を取得しているからです。 この方法ですと株価の時系列分析を行うために、データを日々、蓄積していく必要があるので実用性がありません。 あくまで、本プログラムは表示されているホームページの特定カラムの情報を取得する仕組みです。

実際に株価の時系列分析を行う場合は、データをまとめて収集する必要があります。 1949年から現在までのデータを一括収集できるプログラムを現在作成中です。


(追記 2019.4.25) FREDから直接データをダウンロードできることが判明しました

PAGE TOP