Pythonで株価データを扱ったり、財務分析ができることを目標に勉強しています。
どんなに複雑で大きなアプリケーションも、小さな処理の積み重ねでできると信じて一つ一つ学んでいきます。
今回はPythonで株価を取得し、コマンドプロンプト上に表示します。
株価はこちらのページから取得します。
株探「https://kabutan.jp/」
requestsとBeautifulSoupの2つ利用することで株価を取得します。
コード
1 2 3 4 5 6 7 8 9 10 11 |
import requests from bs4 import BeautifulSoup url = "https://kabutan.jp/stock/?code=7203" #7203はトヨタの証券コード。この数字を変更すると他の銘柄を指定することができる html = requests.get(url) soup = BeautifulSoup(html.content,"html.parser") print(soup.find(class_="kabuka")) # kabuka を指定して表示 ・・・① #print(soup.find(class_="kabuka").text)・・・② #補足:株価のみ表示したい場合は ".text"を追加 |
実行結果
このように表示されます。
<span class~ とタグから表示されてしまっていますが、
Webページから株価を取得してコマンドプロンプト上に表示することができました。
補足
株価のみ表示したい場合
コード内の補足②の部分ですが、株価を表示することはできたものの、
タグなどの余計な情報も同時に表示されています。
そのため、株価だけを表示したい場合は次のように記載します。
1 |
print(soup.find(class_="kabuka").text) |
“.text”を追加することで、下の画像のように株価のみ表示することができます。
デベロッパーツールで特定の要素を探す
コード内の①の補足です。
指定したWebページ内には株価以外にも多くの情報があるのですが、
どうすれば株価のみ表示することができるかについてです。
コード内の変数”url”に、株探のトヨタのページの情報を取り込んでいますが、
取り込んだ内容をそのまま表示するととんでもない量の情報になります。
↓参考(株価以外の情報も含まれています。これでも一部分)
Webページ内の情報取得しか今回はしないので大した問題にはなりませんが、
この先、株価データや財務情報を扱って分析をしていくためには、
必要なデータのみに絞りまなければなりません。
そこで、今回はタグを指定することで株価のみを指定しました。
それがコード内の①の部分になります。
Webページはhtmlなどを使って作成されていますが、
その要素は一つ一つがhtmlタグと呼ばれます。
そして、htmlタグを知るためにはデベロッパーツールを使います。
デベロッパーツールはブラウザに搭載されているもので、
今自分が見ているページのhtmlファイルの中身を読むことができます。
F12キーを押すと、画面右側にデベロッパーツールが表示されます。
デベロッパーツールの左上にある「要素の表示」をクリックし、
ページ内の株価のエリアをクリックすると、欲しい情報が表示されます。
まとめ
今回はPythonを使って株価を取得してみました。
Webからデータを取得することは分析のための第一歩にもなります。
自動化すると業務量の削減にもつながります。
他のPythonの記事はこちら
プログラミングを学ぶなら無料相談を活用しよう
独学でプログラミングを学ぶのは簡単なことではありません。
闇雲に本を買ったり動画を見ても、非効率かもしれません。
しかし、エンジニアとして働いていきたいという気持ちを捨てられないのであれば、人に聞いてしまうと解決までが早くなります。
とはいえ、自分にはそんなことを聞ける人が周りにいない・・・という方もいるかもしれません。
そんな時はプログラミングスクールに問い合わせてみましょう。
プログラミングスクールは受講するとなると比較的大きなお金が必要になるので、そう簡単には受講できません。
しかし、ひとまず登録した上での情報収拾や学習方法の相談にはぴったりです。
カウンセリングや学習の相談であれば無料で受け付けているスクールも多いです。
こちらのウェブカツというスクールは、まさに学習の相談だけでなく体験レッスンまで無料で受講できるサービスです。
迷うくらいなら一歩目を踏み出した方が良いです。独学でプログラミング を身につけることに限界を感じているようであれば、こういったサービスを慎重に利用しましょう。
サポートが手厚く、自分に合いそうだと感じたスクールがあればお金を払って学習する価値もあるでしょう。
コメント