KatsuhiroBlog

妻と娘が大好きな現役エンジニア。IT、ブログ、投資を中心に発信します。

IT

PythonでGoogleの株価を取得してみた【コピペでOK】

更新日:

米国株を買っているPython初心者「米国株を買っていて、最新の株価をPythonで取得したい。でも、Pythonで株価を取得する方がわからない。コピペでできる方法があれば教えてほしい」

こういった疑問にお答えします。

本記事ではPythonでGoogleの株価を取得する方法について、サンプルコードを公開しています。サンプルコードをコピペすれば、すぐ使えますので、どうぞご覧ください。

こんにちは、かつひろです。この記事を書いている私はシステムエンジニアとして9年ほど働いています。Pythonはここ1年くらい会社のプロジェクトで使っています。

私はGoogle(Alphabet Inc Class A)の株を持っています。Googleの株価をPythonで取得してみたいと思い、いろいろと調べてみました。

しかし、日本の銘柄の株を取得する方法は見つかったのですが、米国の銘柄の株を取得する方法が見当たらなかったので、自分でPythonのソースコードを作ってみました。

それでは以下の順番で進めます。

  1. Googleの株価を取得するPythonのソースコード公開【忙しい人向け】
  2. Google Colabを使ったソースコードの実行方法【Pythonの環境がない人向け】
  3. 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フォローお願いします。

以上です。

-IT

かつひろ

妻と娘が大好きな30代のシステムエンジニアです。家族と一緒に自由な暮らしを得るために、毎日ブログをコツコツ更新中。

プロフィール詳細