BeautifulSoupで見つけた要素からすべてのタグを削除するにはどうすればよいですか?Python/BeautifulSoup - 要素からすべてのタグを削除するには?
39
A
答えて
2
あなたがタグを取り除くが、その内容を維持したいと仮定すると、この質問への受け入れ答えを参照してください。Remove a tag using BeautifulSoup but keep its contentsそれはこのようになります
1
を行うための方法です!このラインとその
ような単純なあなたは一緒に現在の要素内のすべてのテキスト部分
''.join(htmlelement.find(text=True))
2
に参加しているあなたは、BS4中で分解の方法を使用することができます。
soup = bs4.BeautifulSoup('<body><a href="http://example.com/">I linked to <i>example.com</i></a></body>')
for a in soup.find('a').children:
if isinstance(a,bs4.element.Tag):
a.decompose()
print soup
Out: <html><body><a href="http://example.com/">I linked to </a></body></html>
13
何の答えを持っていない理由私はunwrap
メソッドに関する何かを見たことがありますか?または、さらに簡単、bs4
に行っget_text
方法BeautifulStoneSoup
で
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#unwrap http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text
46
が、それはのpython3
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
text = soup.get_text()
print(text)
6
使用get_text()にでも簡単です、それは文書内のすべてのテキストを返すか、下に単一のUnicode文字列としてのタグ。例えば
、次のテキストからすべての異なるスクリプトタグを削除します。
<td><a href="http://www.irit.fr/SC">Signal et Communication</a>
<br/><a href="http://www.irit.fr/IRT">Ingénierie Réseaux et Télécommunications</a>
</td>
期待される結果は次のとおりです。ここで
Signal et Communication
Ingénierie Réseaux et Télécommunications
は、ソースコードである:
#!/usr/bin/env python3
from bs4 import BeautifulSoup
text = '''
<td><a href="http://www.irit.fr/SC">Signal et Communication</a>
<br/><a href="http://www.irit.fr/IRT">Ingénierie Réseaux et Télécommunications</a>
</td>
'''
soup = BeautifulSoup(text)
print(soup.get_text())
関連する問題
- 1. コンテンツからすべてのPタグを削除するには?
- 2. リストから空の要素をすべて削除する
- 3. 要素からすべてのイベントを削除するHTML
- 4. すべてのhtmlタグをSQLファイルから削除/削除
- 5. 子タグ/要素を削除する
- 6. Nokogiriの要素から外部タグを削除しますか?
- 7. コーパスからhtmlタグを除くすべてを削除する
- 8. 要素からタイプのすべてのイベントを削除するには
- 9. HTML要素とそのすべての子要素からすべての属性を削除する
- 10. ショートコードですべてのhtml要素をラップすることからpタグを削除する方法
- 11. リストから要素を削除する
- 12. コレクションから要素を削除する
- 13. リンクリストから要素を削除する
- 14. リストから要素を削除する
- 15. 要素からツールヒントイベントを削除する
- 16. FiniteSetから要素を削除する
- 17. 要素を置き換えてすべての要素を削除する
- 18. 配列スプライスは配列からすべての要素を削除します
- 19. JSON配列内のすべての要素からキーを削除する - Ruby
- 20. リストからすべての3番目の要素を削除するF#
- 21. pythonのリストからn番目の要素をすべて削除する012
- 22. C++ 98、vector、最初の要素を除くすべての要素を削除
- 23. 選択タグからすべてのオプションを削除します
- 24. すべての親要素からリンクを削除して子要素としてクローンする方法
- 25. JQueryのappend要素はすべてのhtml dom要素を削除します
- 26. 配列からすべての要素を削除する方法
- 27. SVGのすべての要素からクラスを削除しますか?
- 28. 削除スペースXMLタグの要素名から
- 29. すべてのgitタグを削除するには、gitタグのカスタムリストが必要ですか?
- 30. Jquery要素内のすべてのイベントハンドラを削除する
それはさ'getText()'の代わりに 'get_text()'を使うほうがいいです。 – SparkAndShine
なぜですか?それは事実かもしれませんが、理由を理解することは役に立ちます。 –
getText()はbs3構文であり、pep8に準拠していません。おそらく廃止予定です。 –