前提
Pythonでbs4を使って、特定の見出し部分以下にある要素のみを取り出したいです。
実現したいこと
例えば以下のようなページから、「にんじん」、「キャベツ」、「トマト」のURLとアンカーテキストを取り出す場合はどのようにすればいいのでしょうか。
<title>タイトル</title>
<div class="abcde">
<h2>果物</h2>
<a href="URL">りんご</a>
<a href="URL">みかん</a>
<a href="URL">ぶどう</a>
<h2>野菜</h2>
<a href="URL">にんじん</a>
<a href="URL">キャベツ</a>
<a href="URL">トマト</a>
<h2>飲み物</h2>
<a href="URL">お茶</a>
<a href="URL">お水</a>
<a href="URL">牛乳</a>
試したこと
以下のコードでは、「果物」、「野菜」、「飲み物」全てのaタグを取得してしまいます。
url = "https://www.〇〇〇〇"
r = requests.get(url)
so = BeautifulSoup(r.text, "html.parser")
contents = so.find(class_="abcde")
get_a = contents.find_all("a")
お手数おかけしますが、ご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー