[5分で分かるPython] BeautifulSoupを使ったWEBスクレイピングプログラム[動画解説]
PythonライブラリBeautifulSoupを使ってドル円レートを取得
これまでAIを使った為替の予測などをしてきましたが,やはりWEB上のデータも学習させないとAIの精度に限界がきているようです。そのためまずはWEBサイトからスクレイピングでデータを取得するプログラム作成を行っていこうと思います。
今回紹介するのはPythonライブラリであるBeautifulSoupを使ったWEBスクレイピングです。割と有名なライブラリなので知っている方も多いと思われます。こちらを使ってドル円の現在値を取得するプログラムを構築します。
結構簡単に出来る事が分かりますね。Beautifulsoupは有名で他にも色々な機能があります。それらは追って記事にしていこうと思います。
なお,動画に出てくるstoksPriceですが,それはサイトのHTMLを確認すると分かります。
これらの情報を収集するには確認したいWEBサイトで右クリックを押し,”ページのソース表示”をクリックします。今回の例だと以下のようなHTMLソースコードが出て来ます。
ここで233行目にstoksPriceというclassが定義されている事が分かりますね。今回のサンプルプログラムはここからデータを取得したのです。
今回のソースコードを書いておきます。
#まずはライブラリをimportする
from bs4 import BeautifulSoup
import urllib.request as req
#HTMLをurlから取得
url = "https://stocks.finance.yahoo.co.jp/stocks/detail/?code=usdjpy"
res = req.urlopen(url)
#HTMLの中身確認
soup = BeautifulSoup(res,"html.parser")
#データ取り出し
price = soup.select_one(".stoksPrice").string
print("ドル円の現在レートは",price)
非常にコンパクトなコードですよね。これだけでスクレイピングはとりあえず出来るのです。今回のWEBサイトではstoksPriceが定期的に動きますので一定時間毎に上記のプログラムが回るようにしておけばリアルタイムにドル円レートを取得できるのです。
ただ,このスクレイピングは高頻度に実施すると問題になる恐れがあります。今回のサイトだと数分に1度くらい上限にデータ取得を行う方が良いでしょう。