soup scraping from examples beautiful python html beautifulsoup

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