webスクレイピング(Python)
こんばんは
寒いので湯たんぽを買いました。他の暖房器具と違って優しい暖かさを感じるのは私だけでしょうか。
さて、本日は「スクレイピング」についてお話します。
スクレイピングとは、webサイトから任意の情報を抽出する技術のことを指します。そもそもインターネットは宝の山と言われており、有益な様々なデータが散在しております。お馴染みの機械学習では、データ数が非常に大切になります。もし人がデータを1つ1つインターネット上で見つけ、抽出し、CSVファイルとして落とし込むことをしたら、かなりの時間がかかってしまいます。しかし、スクレイピングの技術を使えばコンピュータがwebサイトの解析から抽出まで全て自動で実施してくれます。
そんな魔法のようなツールがPythonでは「BeautifulSoup」というライブラリーで容易されています。基本的なコード等は割愛しますが、「BeautifulSoup」で実現できることは大きく2つです。①HTMLの解析②データの抽出
最終的にwebページ上の該当データを抽出するためには、webページを構成しているHTMLの解析が必要です。これに関しては「html.parser」という一文だけで完了します
(コンピュータがwebページを読み込んだよ!ってこと)。その次に、HTMLタグ(h1等)、id、CSSセレクタを用いて該当のデータを抽出できます。
スクレイピングをよく利用されるのが為替情報の取得です。例えば、アメリカドル/円を抽出するためには
soup = BeautifulSoup(req.urlopen(URL情報), "html.parser")
price = soup.select_one(".stockPrice").string
print(price)
僅か3行で抽出することが出来ます。
今後仮に、1時間毎にアメリカドル/円を抽出して記録する作業を実施する場合に、上記に「Scheduleライブラリー」を用いることで一瞬でコードを書くことが出来ます。
プログラミングを実施してみて思ったことはライブラリーの多さです。何か作りたいと思った時に、それを簡単にしてくれる便利ツール(ライブラリー等)が無数にあります。本日はスクレイピングを実施するために使う「BeautifulSoup」というライブラリーを紹介しましたが、次回以降も他のライブラリーを紹介させていただきます(なるべくコードを書かずにシンプルに)
では今日はここまでです。最後まで読んで頂きありがとうございます。