BeautifulSoupを使用してHTMLを解析しようとしていますsmall
。タグ内のすべてのテキストを(再帰的に)取得したいのですが、タグ内に表示されるすべてのテキストを無視したいと思います。たとえば、次のHTMLは次のとおりです。
<li>
<a href="/path">
Final
</a>
definition.
<small>
Fun fact.
</small>
</li>
テキスト与える必要がありFinal definition.
、これは最低限の例であることを注意を。実際のHTMLには他にも多くのタグが含まれているsmall
ためa
、含めるのではなく除外する必要があります。
text
タグの属性は私が望むものに近いですが、タグFun fact.
を除くすべての子のテキストを連結できることが含まsmall
れdefinition.
ますが、それでは次のようなメソッドを見つけることができませんでしたget_text_until
(small
タグは常に最後にあります) 、 それで、なにかお手伝いできますか?
を使用find_all
してすべての<small>
タグを検索し、クリアしてから、次を使用できますget_text()
。
>>> soup
<li>
<a href="/path">
Final
</a>
definition.
<small>
Fun fact.
</small>
</li>
>>> for el in soup.find_all("small"):
... el.clear()
...
>>> soup
<li>
<a href="/path">
Final
</a>
definition.
<small></small>
</li>
>>> soup.get_text()
'\n\n\n Final\n \n definition.\n \n\n'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加