指定銘柄の自分の知りたい情報を簡単に集めたい!

経済的自由への道

今回は初のプログラミングについてです。

色々書きたいことはありますが、まずは作成したものを紹介します。

# おまじない

import time
from selenium import webdriver

# ①ブラウザ(Chrome)を開く

driver = webdriver.Chrome()

# ②指定したサイトを開く
driver.get(‘https://www.buffett-code.com/’);
time.sleep(3)
search_box = driver.find_element_by_id(‘ac-search__top’)
search_box.send_keys(‘xxxx’)
search_box.submit()
time.sleep(5)

# 財務状況を取得する
stockprice_box = driver.find_element_by_id(‘stockprice’)
print(‘株価:’+stockprice_box.text)
financial_link = driver.find_element_by_link_text(‘業績’)
financial_link.click()

今日はここまで。

・・・実はまだ途中なんです。

やりたいことは、良さそうな銘柄の財務状況を調べて

「これは割安!」と思えるものをピックアップするようなのを作ろうとしています。

プログラムでやろうとしていることは、プログラム中に書いていますが、

① ブラウザ(Chrome)を開く

② 指定したサイトを開く

③ 財務状況を取得する

④ 取得情報を出力する

⑤ 取得した情報から欲しいデータを試算する

です。

「まだ途中」と言ったのは、③の途中で今日時点では終了しました。

今日はここまでの備忘録にしようと思っています。

①はそこまで難しいことじゃない・・・と思いきや

Seleniumとchromedriverのインポートで結構苦労しました(-_-;)

ググってみると環境変数が云々と書いているんですが、

Jupyter Notebookで先に「!pop install xxx」を実行する必要がありました。

chromedriverはブラウザのバージョンに近いものを探してインポートしておく必要があります。

②はサイトを開くことまでは簡単でしたが、

何故か銘柄コードを入れるところでエラーが出て解決できず、

ここでも小一時間・・・

「driver.find_element_by_id」のところを

最初は「driver.find_element_by_name」としていたのですが、

それではうまくできませんでした。間違っていないはずですが、

エラーが解決できなかった理由はわからず、結果オーライで進んでいます。

③は複数のページに跨って情報があるため、

ページの移動が必要でした。今はテーブル内のデータを入手する方法を探し中です。

以上までの実行結果が以下の通りです。

実行中はchromeが頑張って動いていました。

「バフェット・コード」を開いて、「気になる銘柄を調べてみよう!」に「2303」と入力。

現在の株価「3,090円」を取得して、業績のページに移動

業績ページを開いて、一旦終了です。

GW中にある程度形にしたいなと思います。

コメント

タイトルとURLをコピーしました