iは、HTMLBeautifulSoup - テキスト
<div>Hey</div><div>This is <b>some text<b/>, right here. <a>Link<a/></div>
とコード
soup = BeautifulSoup(html)
texts = soup.findAll(text=True)
プリントを(持っていると言うことができますよう、タグ付きテキストを抽出するには)テキストの
['Hey', 'This is ', 'some text', ', right here.', 'Link']
を返します。
は、どのように私は(テキストのみが含まれていることを)「B」のようなタグを除外することができたので、私は
['Hey', 'This is <b>some text<b/>, right here.', 'Link']
また、好ましくはない文字列同等のNavigableStringsまたは類似した所望の出力を得ることができます。
つまり、タグを除外してツリーをナビゲートするにはどうすればよいですか?
eDiv = soup.findAll("div")
if eDiv.find("b") is None:
tag = eDiv.text
else:
tag = eDiv
今あなたがリストにこれを追加することができます:更新されたOPの質問に基づいて
あなたはどういう意味ですか*「b」(テキストのみを含む)のようなタグを除外することはできますか?bと思われる他のタグは何ですか? –
私のhtmlにはbのみが含まれていますが、 'i'とbrでも可能です。基本的にタグからすべてのテキストリソースを抽出する必要があります。ただし、他の兄弟タグからテキストを除いた親のテキストを抽出する 'b'以外は除きます。 –
もっと複雑な例を追加して、出力として何を追加できますか? –