Antworten:
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<script>a</script>baba<script>b</script>', 'lxml')
>>> for s in soup.select('script'):
>>>    s.extract()
>>> soup
baba
              [s.extract() for s in soup(['iframe', 'script'])]Beachten Sie, dass der Parameter eine Liste sein muss, um mehrere Tags zu verwenden
                    '<script class="blah">a</script>baba<script id="blahhhh">b</script>'? Ist es das Gleiche?
                    <html><head></head><body><p>baba</p></body></html>
                    Aktualisierte Antwort für diejenigen, die möglicherweise später nachschlagen müssen: Die richtige Antwort lautet.
decompose()
Sie können verschiedene Methoden verwenden, arbeiten jedoch vor decomposeOrt.
Anwendungsbeispiel:
soup = BeautifulSoup('<p>This is a slimy text and <i> I am slimer</i></p>')
soup.i.decompose()
print str(soup)
#prints '<p>This is a slimy text and</p>'
Ziemlich nützlich, um Detritus wie 'script', 'img' usw. loszuwerden.
decomposeund extractbesteht darin, dass Letzteres das entfernte Objekt zurückgibt, während Ersteres es nur zerstört. Dies ist also die genauere Antwort auf die Frage, aber die anderen Methoden funktionieren.
                    removeInhalt gegeben. Wird häufig zum Bereinigen von HTML von nicht benötigten Tags und zum Formatieren verwendet.
                    Wie in der ( offiziellen Dokumentation ) angegeben, können Sie mit dieser extractMethode alle Teilbäume entfernen, die der Suche entsprechen.
import BeautifulSoup
a = BeautifulSoup.BeautifulSoup("<html><body><script>aaa</script></body></html>")
[x.extract() for x in a.findAll('script')]