PythonでWebスクレイピング

どうも。magnetです。

最近の情報系の授業において、「スクレイピング」というものを学びました。

スクレイピングについて詳しく知りたい方は、

「ゆう」が書いたこちらの記事をどうぞ~

その授業で各自製作の課題が課されたので、

とあるサイトをスクレイピングしてみました!!

以下に私が書いたコードを載せておきますね~。

import requests
from bs4 import BeautifulSoup
# importでrequestとbs4のBeautifulsoupを読み込みます。
# Webページを取得して解析する

load_url = "とあるサイトのURL"
# とあるサイトのURLをload_urlと定義。
html = requests.get(load_url)
# htmlをrequestのgetというメソッドを使い、 するものだと定義する。
soup = BeautifulSoup(html.content, "html.parser")    # HTMLを解析する
#ちょっとよく分からない。
# ~ここまでで、HTML全体を表示するプログラムは完成~

menu_all = soup.find_all(class_ = "menu-list")
# menu_allと定義します。

for menu in menu_all :
#for 関数 in リスト でmenuの中にmenu_allを何回も入れていきます。
    menu_name_full=menu.find_all('h4',attrs={'class':'menu-name'})
    #menu_nameを全て探すことを、menu_name_fullと定義します。
    for menu_name in menu_name_full :
    #menu_nameの中にmenu_name_fullを何回も入れていきます。
        print(menu_name.text)
        print()
        #printで指定したものの表示と、見やすいように空白を表示しています。

それぞれのコードの詳しい説明は#で書いてある文を参照してみて下さい!

これを実行すると、、、

メニュー一覧が出てきます。。

やってることそんなに難しそうじゃ無いじゃんか。

って思うかもしれませんが、

実際やってみると結構重めです……

なかなか理解出来ずに困ってましたが、

周りの助けも有りなんとか完成できました!

手伝って下さりありがとうございました。

今回のものは、メニュー一覧だけの表示となっていますが、

カロリーや値段も対応して表示出来ると、

データサイエンスみが増しますね。

また、完成したら投稿したいと思います。

ではでは。

あ、あと興味があればぜひ最新の投稿もご覧下さい!