Modification de l'arbre

30 min Niveau 6

Introduction

L'un des aspects importants de BeautifulSoup est la recherche dans l'arbre d'analyse, qui vous permet d'apporter des modifications au document Web en fonction de vos besoins. Nous pouvons modifier les propriétés d'une balise en utilisant ses attributs, tels que la méthode .name(), .string() ou .append(). Il vous permet d'ajouter de nouvelles balises et chaînes de caractères à une balise existante à l'aide des méthodes .new_string() et .new_tag(). Il existe également d'autres méthodes, telles que .insert(), .insert_before() ou .insert_after(), pour apporter diverses modifications à votre document HTML ou XML.

Modification des balises et de leurs attributs

Une fois que vous avez créé la soupe, il est facile de faire des modifications comme renommer la balise, faire des modifications à ses attributs, ajouter de nouveaux attributs et supprimer des attributs.

>>> soup = BeautifulSoup('<b class="bolder">Very Bold</b>')
>>> tag = soup.b

La modification et l'ajout de nouveaux attributs sont les suivants -

>>> tag.name = 'Blockquote'
>>> tag['class'] = 'Bolder'
>>> tag['id'] = 1.1
>>> tag
<Blockquote class="Bolder" id="1.1">Very Bold</Blockquote>
Deleting attributes are as follows −
>>> del tag['class']
>>> tag
<Blockquote id="1.1">Very Bold</Blockquote>
>>> del tag['id']
>>> tag
<Blockquote>Very Bold</Blockquote>

Modification de .string

Vous pouvez facilement modifier l'attribut .string de la balise -

>>> markup = '<a href="https://www.Microlead.com/index.html">Must for every <i>Learner>/i<</a>'
>>> Bsoup = BeautifulSoup(markup)
>>> tag = Bsoup.a
>>> tag.string = "My Favourite spot."
>>> tag
<a href="https://www.Microlead.com/index.html">My Favourite spot.</a>

D'après ce qui précède, nous pouvons voir que si la balise contient une autre balise, celle-ci et tout son contenu seront remplacés par de nouvelles données.

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus