python - scraping - install beautifulsoup windows
¿Puedo eliminar etiquetas de script con BeautifulSoup? (3)
Como se indica en la ( documentación oficial ) puede usar el método de extract
para eliminar todo el subárbol que coincida con la búsqueda.
import BeautifulSoup
a = BeautifulSoup.BeautifulSoup("<html><body><script>aaa</script></body></html>")
[x.extract() for x in a.findAll(''script'')]
¿Se pueden eliminar las etiquetas de script y todos sus contenidos de HTML con BeautifulSoup, o tengo que usar expresiones regulares o algo más?
Respuesta actualizada para quienes podrían necesitar referencias futuras: la respuesta correcta es. decompose()
Puede usar diferentes formas pero decompose
obras en el lugar.
Ejemplo de uso:
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>''
Muy útil para deshacerse de detritus como ''script'', ''img'', etc.
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(''<script>a</script>baba<script>b</script>'', ''lxml'')
>>> [s.extract() for s in soup(''script'')]
>>> soup
baba