Yahooファイナンスをスクレイピングしていきます。
スクレイピング初心者のためにも段階を踏んで解説します。
その解説は、プログラミング初心者にも役に立つはずです。
正確には、プログラミングというより、システム開発の初心者になりますね。
「おお、興味がある」と少しでも思った方は読み進めてください。
本記事の内容
- スクレイピングを始める前に
- スクレイピングには設計スキルが必要である
- Yahooファイナンスの利用規約を確認する
- Yahooファイナンスをスクレイピングするための準備
それでは、上記に沿って解説していきます。
スクレイピングを始める前に
本ブログが初めての方は、次の記事を必ず読んでください。
すべて読む必要はありません。
「【必須】Webスクレイピングに関する考え方」だけでOKです。
上記の内容を簡単に言うと、スクレイピングに関しての注意書きです。
スクレイピングを行う上では必ず知っておくべき内容となります。
知らずにスクレイピングを行うと、犯罪者になる可能性すらあり得ます。
上記の内容を理解できれば、次へ進みます。
スクレイピングには設計スキルが必要である
最初に、設計スキルの定義をしておきます。
ここで言う設計スキルとは、データ設計のスキルです。
データ設計のスキルが、スクレイピングには必要となります。
裏を返せば、スクレイピングによりデータ設計のスキルが身につくとも言えます。
このあたりは、実際にスクレイピングを行う段階で解説します。
さらには、データ設計だけではなく、画面設計のスキルも学べます。
正直、スクレイピング以外では、他社のサイトを必死で分析なんてしません。
他社サイトのhtmlソースコードをマジマジと見たことがありますか?
スクレイピングをしなかったら、プログラマーはそんなことをなかなかしないはずです。
もっと言うと、SEOに関しても学ぶことが可能です。
タグ要素までじっくりと見るわけですからね。
「ここでh2を使うか~」と感心する機会もなかなかありません。
簡単に言うと、スクレイピングは総合格闘技みたいなモノでしょうか。
そう思えば、面白いと思いませんか?
以上、ここまではスクレイピングというモノに関しての説明でした。
以降は、Yahooファイナンスに目を向けていきましょう。
Yahooファイナンスの利用規約を確認する
「Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止しています」
https://support.yahoo-net.jp/PccFinance/s/article/H000011276
ハッキリと警告しています。
ここまで明示的にスクレイピングを禁止するのは、珍しいです。
でも、何も恐れる必要はありません。
「【必須】Webスクレイピングに関する考え方」を理解していれば、違法でも何でもありません。
一民間企業が勝手に作った利用規約に違反するだけです。
利用規約違反の最大のペナルティは、アカウント停止・削除になります。
正直、個人的にYahooアカウントを停止・削除されても問題ありません。
利用すると言えば、Gmail以前に利用していたYahooメールぐらいでしょうか。
それも週1回程度で確認するようなモノです。
そのため、利用規約違反でアカウント停止・削除されても、Yahooアカウントなら痛くも痒くもありません。
一応、それぐらいの覚悟を持ってスクレイピングを行いましょう。
実際、ログインした状態でスクレイピングをしなければ、そんなことは起こりません。
あと、Yahooファイナンスの利用規約に関しては、次の記事でも解説しています。
掲示板データをスクレイピングした際にまとめた記事です。
上記の記事をあわせて読むと、Yahooファイナンスによる警告に対して恐怖心がなくなります。
最後に、Yahooファイナンスをスクレイピングするための準備に関して説明します。
Yahooファイナンスをスクレイピングするための準備
利用する言語は、Pythonです。
Pythonのバージョンに関しては、3系なら基本的に問題はありません。
OSは、WindowsでもLinuxでも何でも構いません。
もちろん、macOSでも問題ありません。
そして、必要なライブラリは以下。
- Selenium
- BeautifulSoup4
- lxml
なぜ、上記のライブラリが必要なのかということも同じ記事内で解説しています。
「メルカリのスクレイピング仕様(考え方)」の部分です。
技術的に理解を深めたい場合は、「メルカリのスクレイピング仕様(考え方)」をご覧ください。
以上、Yahooファイナンスをスクレイピングするための準備でした。
今後、この記事の内容をベースにして、Yahooファイナンスをスクレイピングしていきます。