Python 3とbeautifulsoup 4を使用しているときに、すべてのテキストを同じ配置で取得するにはどうすればよいですか。forループを試しましたが、うまくいきませんでした。
from bs4 import BeautifulSoup
data = """
<body>
<div id="Select">
<h1 id="wall">
First
</h1>
</div>
</div>
<div id="color_acts">
<p id="acts_h">
Choose
</p>
<p id="actshead">
Color
</p>
<p id="acts">
Blue
</p>
</div>
<div id="Select">
<h1 id="wall">
Second
</h1>
</div>
</div>
<div id="color_acts">
<p id="acts_h">
Choose
</p>
<p id="actshead">
Color
</p>
<p id="acts">
Green
</p>
</div>
</body>
"""
soup = BeautifulSoup(data, "html.parser")
for Colors in soup.find_all('div', id='Select'):
CC = Colors.find('h1').text
print(CC)
SS = soup.find('div', id='color_acts')
print(SS)
私の出力:
First
<div id="color_acts">
<p id="acts_h">
Choose
</p>
<p id="actshead">
Color
</p>
<p id="acts">
Blue
</p>
</div>
Second
<div id="color_acts">
<p id="acts_h">
Choose
</p>
<p id="actshead">
Color
</p>
<p id="acts">
Blue
</p>
</div>
私の期待される出力:
First
Choose
Color
Blue
Second
Choose
Color
Green
意図した出力は青の次に緑ですが、実際の出力は青が 2 回表示されるだけです。出力を適切な色にして、html タグが印刷されないようにするにはどうすればよいですか?