7

BeautifulSoup を使用してタグのみを削除するにはどうすればよいですか? 私が見つけた方法は、タグとその中の他のすべてのタグとコンテンツを削除します。タグのみを削除し、その中のすべてをそのままにしておきたい、例えば

これを変える:

<div>
<p>dvgbkfbnfd</p>
<div>
<span>dsvdfvd</span>
</div>
<p>fvjdfnvjundf</p>
</div>

これに:

<p>dvgbkfbnfd</p>
<span>dsvdfvd</span>
<p>fvjdfnvjundf</p>
4

1 に答える 1

8

重複として閉じることに投票しましたが、それが役立つ場合は、右側の関連する上位の回答から slacy の回答を再適用すると、次の解決策が得られます。

from BeautifulSoup import BeautifulSoup

html = '''
<div>
<p>dvgbkfbnfd</p>
<div>
<span>dsvdfvd</span>
</div>
<p>fvjdfnvjundf</p>
</div>
'''

soup = BeautifulSoup(html)
for match in soup.findAll('div'):
    match.replaceWithChildren()

print soup

...出力を生成します:

<p>dvgbkfbnfd</p>

<span>dsvdfvd</span>

<p>fvjdfnvjundf</p>
于 2012-05-11T18:18:41.050 に答える