[Python]BeautifulSoupでweb上のデータを取得する方法(初心者用)

PyhonのライブラリーBeautifulSoupでweb上のデータを取得する方法わかりやすく紹介していきたいと思います。

Pythonを最初に勉強する際、基礎として、if文やfor文など文法を本では書かれていますが、初心者の方でも、実際にどのように使えるのかを紹介していきます。

*前提として、用意して欲しいもの

Pythonをインストールしてあること、エディタ(IDE)を用意してあることです。

最初にBeautifulSoupというライブラリーを使うのでコマンドラインで、

$pip install beautifulsoup4

これで準備は整いました。

今回使うライブラリー

BeautifulSoupとurllibです。

BeautifulSoupは、Pythonでスクレイピングをするライブラリーで、web上のhtmlから情報を取ることができます。

urllibは、このライブラリーはHTTPとFTPを利用してデータをダウンロードできます。

実践

今回はマクドナルドのホームページのメニューのバーガーのカルビマック 改め 乗るカルビの単品の値段データを取得して表示していきます。

urlはこちらです。http://www.mcdonalds.co.jp/menu/burger/

では、コードを書いていきます。

from bs4 import BeautifulSoup
import urllib.request as req
url = “http://www.mcdonalds.co.jp/menu/burger/”
res = req.urlopen(url)
soup = BeautifulSoup(res, “html.parser”)
price = soup.select_one(“.price”).string
print(“値段は”, price)

一行ずつ解説します。
#BeaufitulSoupのライブラリーを読み込みます。
#urllibのライブラリーを読み込みます。
#変数urlにhttp://www.mcdonalds.co.jp/menu/burger/を代入します。
#変数resにurlopen()関数で変数urlつまり”http://www.mcdonalds.co.jp/menu/burger/”を開きます。
#変数soupにBeautifulSoupを使ってresのhtmlを解析します。
#変数priceにsoup.select_oneメソッドを使い以下の場合.priceつまりclass=priceの要素を一つ取り出します。
#priceを出力します。

このように420円のデータを取ることができました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です