前提
Python(BeautifulSoup)によるスクレイピング
ホットペッパーグルメの料理ページを抽出するため、まず料理名(h4)を出力しようとしたのですが空として出力されてしまいます。
実現したいこと
料理名(h4)を正しく出力するためにはどのように書けばよろしいでしょうか?
該当のソースコード
import requests from bs4 import BeautifulSoup url = 'https://www.hotpepper.jp/strJ000980907/food/ res = requests.get(url) soup = BeautifulSoup(res.text, "html.parser") # 料理詳細 food_contents = soup.find("div",class_="dish").find_all(["h3","h4","p"]) for food_content in food_contents: food_name = food_content.find_all("h4") print(food_name)
food_contents
1[<h3 id="category1">◇◆ 牡蠣フライ・ぶりひらフェア ◆◇ 【開催期間】 2022年11月1日(火)~</h3>, 2 <p class="photoL slideShow"> 3 <a class="imagethickbox" href="https://imgfp.hotp.jp/IMGH/05/83/P040520583/P040520583_480.jpg" onclick="SCClick_lightbox('J000980907','1','P040520583','lb_food_category1_001');" rel="01" title="特撰サイズ 大粒牡蠣フライ(1個)"> 4 <img alt="特撰サイズ 大粒牡蠣フライ(1個)" src="https://imgfp.hotp.jp/IMGH/05/83/P040520583/P040520583_238.jpg"/></a> 5 </p>, 6 <h4 class="firstChild">特撰サイズ 大粒牡蠣フライ(1個)</h4>, 7 <p class="price">319円(税込)</p>, 8 <p class="catch">【瀬戸内産】身がつまった食べごたえ抜群の大粒サイズ!</p>, 9 <p class="photoL slideShow"> 10 <a class="imagethickbox" href="https://imgfp.hotp.jp/IMGH/05/85/P040520585/P040520585_480.jpg" onclick="SCClick_lightbox('J000980907','1','P040520585','lb_food_category1_002');" rel="01" title="ぶりひらの刺身"> 11 <img alt="ぶりひらの刺身" src="https://imgfp.hotp.jp/IMGH/05/85/P040520585/P040520585_238.jpg"/></a> 12 </p>, 13… 以下略 14
print(food_title)
1[] 2[] 3[] 4[] 5[] 6[] 7[] 8… 以下略
回答2件
あなたの回答
tips
プレビュー