


Explication détaillée de l'exemple de code Python pour modifier le contenu à l'aide du module Beautiful Soup
Beautiful Soup est une bibliothèque Python qui peut extraire des données à partir de fichiers HTML ou XML. Il vous permet de parcourir, rechercher et modifier des documents de la manière habituelle via votre convertisseur préféré. Il peut également modifier le contenu des documents HTML/XML. Cet article présente principalement comment Python utilise le module Beautiful Soup pour modifier le contenu. Les amis dans le besoin peuvent s'y référer.
Préface
En effet, en plus de rechercher et de naviguer, le module Beautiful Soup peut également modifier le contenu des documents HTML/XML. Cela signifie pouvoir ajouter ou supprimer des balises, modifier les noms des balises, modifier les valeurs des attributs des balises, modifier le contenu du texte, etc. Cet article vous présente en détail comment Python utilise le module Beautiful Soup pour modifier le contenu. Je n'entrerai pas dans les détails ci-dessous, mais jetons un coup d'œil à l'introduction détaillée.
Modifier la balise
L'exemple de document HTML utilisé est toujours le suivant :
html_markup=""" <p class="ecopyramid"> <ul id="producers"> <li class="producerlist"> <p class="name">plants</p> <p class="number">100000</p> </li> <li class="producerlist"> <p class="name">algae</p> <p class="number">100000</p> </li> </ul> </p> """
Modifier la balise nom
soup = BeautifulSoup(html_markup,'lxml') producer_entries = soup.ul print producer_entries.name producer_entries.name = "p" print producer_entries.prettify()
Modifier la valeur de l'attribut de la balise
# 修改标签属性 # 更新标签现有的属性值 producer_entries['id'] = "producers_new_value" print producer_entries.prettify() # 标签添加新的属性值 producer_entries['class'] = "newclass" print producer_entries.prettify() # 删除标签属性值 del producer_entries['class'] print producer_entries.prettify()
Ajouter une nouvelle balise
Nous pouvons utiliser new_tag pour générer une nouvelle balise, puis utilisez les méthodes append()
, insert()
, insert_after()
, insert_before()
pour ajouter la balise à l'arborescence HTML.
Par exemple, ajoutez une balise li à la balise ul du document HTML ci-dessus. Tout d’abord, une nouvelle balise li est générée puis insérée dans l’arborescence HTML. Et insérez la balise p correspondante dans la balise li.
# 添加新的标签 # new_tag 生成一个 tag 对象 new_li_tag = soup.new_tag("li") # 标签对象添加属性的方法 new_atag = soup.new_tag("a",href="www.example.com" rel="external nofollow" ) new_li_tag.attrs = {'class':'producerlist'} soup = BeautifulSoup(html_markup,'lxml') producer_entries = soup.ul # 使用 append() 方法添加到末尾 producer_entries.append(new_li_tag) print producer_entries.prettify() # 生成两个 p 标签,将其插入到 li 标签中 new_p_name_tag = soup.new_tag("p") new_p_name_tag['class'] = "name" new_p_number_tag = soup.new_tag("p") new_p_number_tag["class"] = "number" # 使用 insert() 方法指定位置插入 new_li_tag.insert(0,new_p_name_tag) new_li_tag.insert(1,new_p_number_tag) print new_li_tag.prettify()
Modifier le contenu de la chaîne
Vous pouvez utiliser les méthodes new_string()
, append()
, insert()
pour modifier le contenu de la chaîne.
# 修改字符串内容 # 使用 .string 属性修改字符串内容 new_p_name_tag.string = 'new_p_name' # 使用 .append() 方法添加字符串内容 new_p_name_tag.append("producer") # 使用 soup 对象的 new_string() 方法生成字符串 new_string_toappend = soup.new_string("producer") new_p_name_tag.append(new_string_toappend) # 使用insert() 方法插入 new_string_toinsert = soup.new_string("10000") new_p_number_tag.insert(0,new_string_toinsert) print producer_entries.prettify()
Supprimer le nœud d'étiquette
Le module Beautiful Soup fournit les méthodes decompose()
et extract()
pour supprimer des nœuds. La méthode
decompose()
pour supprimer un nœud supprimera non seulement le nœud actuel, mais supprimera également tous ses nœuds enfants. La méthode
extract()
est utilisée pour supprimer des nœuds ou du contenu de chaîne de l'arborescence HTML.
# 删除节点 third_producer = soup.find_all("li")[2] # 使用 decompose() 方法删除 p 节点 p_name = third_producer.p p_name.decompose() print third_producer.prettify() # 使用 extract() 方法删除节点 third_producer_removed = third_producer.extract() print soup.prettify()
Supprimer le contenu de la balise
Une balise peut avoir des objets NavigableString ou des objets Tag comme nœuds enfants pour supprimer tous ces nœuds enfants, utilisez la méthode clear()
. . Cela supprimera tous les .content de la balise.
Autres méthodes pour modifier le contenu
En plus des méthodes mentionnées ci-dessus, il existe d'autres méthodes pour modifier le contenu. Méthodes
insert_after()
et insert_before()
Les deux méthodes ci-dessus peuvent insérer une étiquette ou une chaîne avant ou après l'étiquette ou la chaîne. Les méthodes ne peuvent accepter qu'un seul paramètre, soit un objet NavigableString, soit un objet Tag.
replace_with()
Méthode
Cette méthode remplace la balise ou la chaîne d'origine par une nouvelle balise ou le contenu de la chaîne, et peut recevoir une balise ou une chaîne en entrée. Méthodes
wrap()
et unwrap()
La méthode
wrap()
enveloppe une étiquette ou une chaîne avec une autre étiquette. La méthode
unwrap()
est à l'opposé de la méthode wrap()
.
# wrap()方法 li_tags = soup.find_all('li') for li in li_tags: new_p_tag = soup.new_tag('p') li.wrap(new_p_tag) print soup.prettify() # unwrap()方法 li_tags = soup.find_all("li") for li in li_tags: li.p.unwrap() print soup.prettify()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

PHP convient au développement Web et au prototypage rapide, et Python convient à la science des données et à l'apprentissage automatique. 1.Php est utilisé pour le développement Web dynamique, avec une syntaxe simple et adapté pour un développement rapide. 2. Python a une syntaxe concise, convient à plusieurs champs et a un écosystème de bibliothèque solide.

VS Code peut être utilisé pour écrire Python et fournit de nombreuses fonctionnalités qui en font un outil idéal pour développer des applications Python. Il permet aux utilisateurs de: installer des extensions Python pour obtenir des fonctions telles que la réalisation du code, la mise en évidence de la syntaxe et le débogage. Utilisez le débogueur pour suivre le code étape par étape, trouver et corriger les erreurs. Intégrez Git pour le contrôle de version. Utilisez des outils de mise en forme de code pour maintenir la cohérence du code. Utilisez l'outil de liaison pour repérer les problèmes potentiels à l'avance.

VS Code peut fonctionner sur Windows 8, mais l'expérience peut ne pas être excellente. Assurez-vous d'abord que le système a été mis à jour sur le dernier correctif, puis téléchargez le package d'installation VS Code qui correspond à l'architecture du système et l'installez comme invité. Après l'installation, sachez que certaines extensions peuvent être incompatibles avec Windows 8 et doivent rechercher des extensions alternatives ou utiliser de nouveaux systèmes Windows dans une machine virtuelle. Installez les extensions nécessaires pour vérifier si elles fonctionnent correctement. Bien que le code VS soit possible sur Windows 8, il est recommandé de passer à un système Windows plus récent pour une meilleure expérience de développement et une meilleure sécurité.

Les extensions de code vs posent des risques malveillants, tels que la cachette de code malveillant, l'exploitation des vulnérabilités et la masturbation comme des extensions légitimes. Les méthodes pour identifier les extensions malveillantes comprennent: la vérification des éditeurs, la lecture des commentaires, la vérification du code et l'installation avec prudence. Les mesures de sécurité comprennent également: la sensibilisation à la sécurité, les bonnes habitudes, les mises à jour régulières et les logiciels antivirus.

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

PHP est originaire en 1994 et a été développé par Rasmuslerdorf. Il a été utilisé à l'origine pour suivre les visiteurs du site Web et a progressivement évolué en un langage de script côté serveur et a été largement utilisé dans le développement Web. Python a été développé par Guidovan Rossum à la fin des années 1980 et a été publié pour la première fois en 1991. Il met l'accent sur la lisibilité et la simplicité du code, et convient à l'informatique scientifique, à l'analyse des données et à d'autres domaines.

Dans VS Code, vous pouvez exécuter le programme dans le terminal via les étapes suivantes: Préparez le code et ouvrez le terminal intégré pour vous assurer que le répertoire de code est cohérent avec le répertoire de travail du terminal. Sélectionnez la commande Run en fonction du langage de programmation (tel que Python de Python your_file_name.py) pour vérifier s'il s'exécute avec succès et résoudre les erreurs. Utilisez le débogueur pour améliorer l'efficacité du débogage.
