すだちくんと世界一周中!FJ(@FJ_fromAWA)です!
今回は今流行りのプログラミング言語・Pythonを使ってWebスクレイピングさせる実際のコードを公開、そして解説します。
この記事を読めば、Pythonを使って、Webサイトから任意の情報を抽出(スクレイピング)させることができます。
できるだけ短いコードで初心者の方にも簡単にWebスクレイピングを体験してもらうことができます。
今回は例として、Yahooのドル円の取引値をWebスクレイピングで出力させます。
記事内のPythonのコードをコピペすれば、そのまま使えるのでぜひWebスクレイピングを体験してください。
PythonでWebスクレイピングの可能性
これからWebスクレイピングは重要な技術のひとつとなっていくでしょう。
Webサイトから任意の情報を抽出(スクレイピング)させることができれば、データの解析に大いに役立つからです。
ビッグデータから必要な情報を集め、データ解析を行うことで課題の解決に貢献することができます。
うまく使えばWebスクレイピングだけで食っていけるほどの強力な技術です。
PythonでWebスクレイピングの仕様
https://m.finance.yahoo.co.jp/stock?code=USDJPY=X
今回は上記のURLから取引値をスクレイピングさせます。
少しだけHTMLの知識が必要になりますが、簡単にできるので心配不要です。
スクレイピングしたい箇所のHTMLコードのクラスを把握
先ほどのYahooのWebページ上で右クリックし、「検証」という項目をクリックします。
すると、以下の様なHTMLのコードを表示させることができます。
ここで、下記の矢印の箇所をクリックします。
そして、今回調べたい取引値が表示されている所にカーソルを合わせます。
すると該当箇所のHTMLコードを参照できる様になっています。
今回、Webスクレイピングで必要となる情報はclassです。
上記の「class = priceFin」という所ですね。
これで今回のWebスクレイピングに必要な情報はオッケーです!
WebスクレイピングのPythonコード
それではPythonでWebスクレイピングのコーディングをしていきましょう。
超短いコードで簡単にできるので安心してください。
ライブラリ「beautifulSoup」のインストール
まずは使用するライブラリ「beautifulSoup」のインストールをします。
このbeautifulSoupはHTMLやXMLを解析する為のライブラリです。
$pip3 install beautifulSoup4
これでPythonでbeautifulSoupを使用できる様になりました。
PythonでWebスクレイピングのコードサンプル
ライブラリのインストールが終わったらpythonでコードを書きます。
from bs4 import BeautifulSoup import urllib.request as req
まずは必要なライブラリをインストールします。
#HTMLの取得 url = "https://m.finance.yahoo.co.jp/stock?code=USDJPY=X" res = req.urlopen(url)
URLを指定し、req.urlopenというものを使い「res」に格納します。
#HTMLを解析 soup = BeautifulSoup(res, "html.parser") #データの抽出、出力 price = soup.select_one(".priceFin").string print("usd jpy", price)
HTMLを解析させる「html.parser」を使い、「soup.select_one」で冒頭で調べたHTMLコードのクラスを指定します。
そして出力すると取引値が出力されます!
※ドル円の取引値なので、日時に応じて値が変わります。注意してくださいね。
【Python】人工知能(AI)プログラミングスクールおすすめ6選!
【独学の方へ】PythonでWebスクレイピング まとめ
今回はPythonでWebスクレイピングのコードをまとめました。
参照したいURLを見つけて、HTMLのクラスを調べることができれば、様々なサイトから任意のデータを抽出することができますね。
こんなに少ないコードでWebスクレイピングが可能なのは、ライブラリを使用して効率よくコードを組めるPythonならではです。
ここまでを独学で実装できるようになった方はかなりAIエンジニアとしての可能性が高いでしょう。
ぜひ一度下記のような転職サイトでどのような求人があるか調べてみることをお勧めします。
一度、プロのAIエンジニアの方に相談し、自分のキャリアを考え直すと思わぬヒントが見つかります。
僕は以前工場の機械エンジニアをしていましたが、その経験とPythonを生かしたキャリアチェンジの方法を教えて頂き、目からウロコでした。
ぜひ現役AIエンジニアの方に一度気軽に無料相談してみてください。