米国株を買っているPython初心者「米国株を買っていて、最新の株価をPythonで取得したい。でも、Pythonで株価を取得する方がわからない。コピペでできる方法があれば教えてほしい」
こういった疑問にお答えします。
本記事ではPythonでGoogleの株価を取得する方法について、サンプルコードを公開しています。サンプルコードをコピペすれば、すぐ使えますので、どうぞご覧ください。
こんにちは、かつひろです。この記事を書いている私はシステムエンジニアとして9年ほど働いています。Pythonはここ1年くらい会社のプロジェクトで使っています。
私はGoogle(Alphabet Inc Class A)の株を持っています。Googleの株価をPythonで取得してみたいと思い、いろいろと調べてみました。
しかし、日本の銘柄の株を取得する方法は見つかったのですが、米国の銘柄の株を取得する方法が見当たらなかったので、自分でPythonのソースコードを作ってみました。
それでは以下の順番で進めます。
- Googleの株価を取得するPythonのソースコード公開【忙しい人向け】
- Google Colabを使ったソースコードの実行方法【Pythonの環境がない人向け】
- Googleの株価を取得するPythonのソースコードの説明
Googleの株価を取得するPythonのソースコード公開【忙しい人向け】
とりあえず、ソースコードだけ知りたい人向けに今回作成したソースコードを公開します。以下のソースコードをコピペしてPythonで実行すればGoogleの株価を取得できます。
import requests
import urllib.request as urlreq
from bs4 import BeautifulSoup
#BloombergのURLを保存
url = "https://www.bloomberg.co.jp/quote/GOOGL:US"
#リンクを取得
r = urlreq.Request(url)
#リンクを開き読み込む
with urlreq.urlopen(r) as r:
r = r.read()
# Webページのソースコードをパース
soup = BeautifulSoup(r, "html.parser")
# すべてのdivタグ要素を取得
divs = soup.find_all("div")
# 表示する株価に初期値をセット
google_stock = ""
# divタグのクラスをすべて取得
for tag in divs:
try:
string_ =tag.get("class").pop(0)
# 株価のクラス(price)の値を取得
if string_ in "price":
google_stock = tag.text
break
except:
pass
#データが見つからない場合は何もしない
#デバッグ用に株価を表示
print("GOOGL:" + google_stock)
Google Colabを使ったソースコードの実行方法
Pythonのローカル環境を持っていない人向けに「Google Colab」を使って、今回のサンプルコードを実行する方法について解説します。
「Google Colab」とは
「Google Colab」とはインターネットに繋がってさえいれば、誰でもPythonが使えるようになるツールです。
詳細は下記の記事をご覧ください。
「Google Colab」でサンプルコードを実行してみよう
「Google Colab」へアクセスしてください。(※事前にGoogleアカウントの作成が必要です。)
右上のログインを押してください。そして、Googleアカウントでログインしてください。
「Python3の新しいノートブック」を押してください。
上記のような画面が出ると思います。
import requests
import urllib.request as urlreq
from bs4 import BeautifulSoup
#BloombergのURLを保存
url = "https://www.bloomberg.co.jp/quote/GOOGL:US"
#リンクを取得
r = urlreq.Request(url)
#リンクを開き読み込む
with urlreq.urlopen(r) as r:
r = r.read()
# Webページのソースコードをパース
soup = BeautifulSoup(r, "html.parser")
# すべてのdivタグ要素を取得
divs = soup.find_all("div")
# 表示する株価に初期値をセット
google_stock = ""
# divタグのクラスをすべて取得
for tag in divs:
try:
string_ =tag.get("class").pop(0)
# 株価のクラス(price)の値を取得
if string_ in "price":
google_stock = tag.text
break
except:
pass
#データが見つからない場合は何もしない
#デバッグ用に株価を表示
print("GOOGL:" + google_stock)
上記のサンプルコードをすべてコピーしてください。
コピーしたサンプルソースを「Google Colab」に貼り付けてください。貼り付けたら「Shift + Enter」を押してください。
実行すると、Googleの株価が表示されます。こんな感じでコピペだけで使えるサンプルコードになってます。
Googleの株価を取得するPythonのソースコードの説明
それでは次に今回作成したサンプルコードについて、上から順番に簡単に説明します。
Pythonライブラリの宣言
import requests
import urllib.request as urlreq
from bs4 import BeautifulSoup
今回はWebスクレイピングという技術を使って、Googleの株価を取得しました。Webスクレイピングを簡単に説明すると「インターネット上のサイトから特定のデータを取得する技術」です。
上記ソースコードはWebスクレイピング用のPythonライブラリを宣言しています。
データ取得先のサイトのURLを保存
今回は「Bloomberg」というサイトからデータを取得しました。
#BloombergのURLを保存
url = "https://www.bloomberg.co.jp/quote/GOOGL:US"
上記ソースコードはBloombergのGoogleの株価のページのURLを保存しています。
上記の「1,119.94」の部分を取得する感じです。
データ取得の事前準備
次にデータ取得の事前準備を行います。
#リンクを取得
r = urlreq.Request(url)
#リンクを開き読み込む
with urlreq.urlopen(r) as r:
r = r.read()
# Webページのソースコードをパース
soup = BeautifulSoup(r, "html.parser")
上記ソースコードは、先ほど保存したURLのサイトを分析するおまじないです。これで準備完了です。
divタグ要素をすべて取得
それでは、次にデータを取得していきます。
# すべてのdivタグ要素を取得
divs = soup.find_all("div")
上記ソースコードはdivタグ要素をすべて取得するソースコードです。
今回取得したい株価は上記のようにdivタグの中にいたので、divタグを取得するようにしました。
株価の取得
divタグの要素を取得したので、あとは株価を取得するだけです。
# 表示する株価に初期値をセット
google_stock = ""
# divタグのクラスをすべて取得
for tag in divs:
try:
string_ =tag.get("class").pop(0)
# 株価のクラス(price)の値を取得
if string_ in "price":
google_stock = tag.text
break
except:
pass
#データが見つからない場合は何もしない
上記ソースコードで株価を取得しています。
今回取得する株価は上記のように「div」タグでclass名が「price」だったので、「div」タグの中でclassが「price」となっているものを取得するようにしました。
株価の出力
最後に取得した株価を出力しています。
#デバッグ用に株価を表示
print("GOOGL:" + google_stock)
最後に
今回は、米国株の株価をPythonで取得したい人向けに、Googleの株価を取得する方法について解説しました。
今回はGoogleを例として使いましたが、サンプルソースのURL部分を「Bloomberg」のサイトの別銘柄のURLに変更すればそのまま流用できますよ。
こんな感じでたまにPythonに関する記事を書いてますので、よければTwitterフォローお願いします。
以上です。