Puis-je supprimer les balises de script avec BeautifulSoup?
Pouvez les balises de script et tout leur contenu sera retiré de HTML avec BeautifulSoup, ou dois-je utiliser des Expressions Régulières ou quelque chose d'autre?
Vous devez vous connecter pour publier un commentaire.
[s.extract() for s in soup(['iframe', 'script'])]
Notez que pour utiliser plusieurs balises, le paramètre doit être une liste'<script class="blah">a</script>baba<script id="blahhhh">b</script>'
? Est-il le même?Mise à jour de réponse pour ceux qui pourraient en avoir besoin pour une référence future:
La bonne réponse est.
decompose()
Vous pouvez utiliser de différentes façons, mais
decompose
œuvres sur place.Exemple d'utilisation:
Assez utile pour se débarrasser des détritus comme 'script','img' donc, et ainsi de suite.
decompose
etextract
est que celle-ci retourne la chose qui a été supprimé, alors que l'ancien juste détruit. C'est donc le plus de réponse précise à la question, mais les autres méthodes de travail.remove
contenu. Souvent utilisé pour le nettoyage HTML des balises inutiles et de mise en forme.<i>
dans le code HTML. Lorsque vous n'êtes pas sûr au sujet de la structure HTML puisextract
est mieuxstrict
mode et oui, avant de redescendre à l'extrait peut être le seul moyen.Comme indiqué dans le ( la documentation officielle ), vous pouvez utiliser le
extract
méthode pour supprimer tous les sous-arbre qui correspond à la recherche.