どうも。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で指定したものの表示と、見やすいように空白を表示しています。
それぞれのコードの詳しい説明は#で書いてある文を参照してみて下さい!
これを実行すると、、、
メニュー一覧が出てきます。。
やってることそんなに難しそうじゃ無いじゃんか。
って思うかもしれませんが、
実際やってみると結構重めです……
なかなか理解出来ずに困ってましたが、
周りの助けも有りなんとか完成できました!
手伝って下さりありがとうございました。
今回のものは、メニュー一覧だけの表示となっていますが、
カロリーや値段も対応して表示出来ると、
データサイエンスみが増しますね。
また、完成したら投稿したいと思います。
ではでは。
あ、あと興味があればぜひ最新の投稿もご覧下さい!