117 votes

Puis-je supprimer des balises de script avec BeautifulSoup?

Les balises de script et tout leur contenu peuvent-ils être supprimés du HTML avec BeautifulSoup ou dois-je utiliser des expressions régulières ou autre chose?

191voto

Fábio Diniz Points 4110
>>> soup = BeautifulSoup('<script>a</script>baba<script>b</script>')
>>> [s.extract() for s in soup('script')]
>>> soup
baba

30voto

SanSS Points 2834

Comme indiqué dans la ( documentation officielle ), vous pouvez utiliser la méthode extract pour supprimer tout le sous-arbre correspondant à la recherche.

 import BeautifulSoup
a = BeautifulSoup.BeautifulSoup("<html><body><script>aaa</script></body></html>")
[x.extract() for x in a.findAll('script')]
 

10voto

Andreas Jung Points 1

Parfaitement documenté dans la documentation BeautifulSoup:

http://www.crummy.com/software/BeautifulSoup/documentation.html#Removing%20elements

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X