Comment supprimer les balises HTML en Python

PHPz
Libérer: 2023-04-27 16:41:50
original
2162 Les gens l'ont consulté

Si vous traitez fréquemment du contenu Web, vous devrez peut-être explorer des pages Web et en extraire du contenu textuel. Cependant, les balises et les informations de style dans le code HTML peuvent rendre le traitement du texte assez difficile. Dans ce cas, le langage de programmation Python fournit des fonctions et bibliothèques utiles pour supprimer les balises HTML, vous permettant ainsi de traiter et d'utiliser le texte plus facilement.

Python fournit deux bibliothèques couramment utilisées pour supprimer les balises HTML : re et BeautifulSoup. Ici, nous allons apprendre comment supprimer les balises HTML en utilisant respectivement ces deux bibliothèques.

Utilisez la bibliothèque re

La bibliothèque re (expression régulière) de Python possède de puissantes capacités de traitement de chaînes. Nous pouvons utiliser certaines méthodes de cette bibliothèque pour supprimer les balises HTML. Plus précisément, nous pouvons utiliser la fonction re.sub() pour remplacer les balises HTML. Voyons un exemple :

import re

def remove_tags(text):
    TAG_RE = re.compile(r'<[^>]+>')
    return TAG_RE.sub('', text)

html = '<html><head><title>Test</title></head><body><h1>Parse me!</h1></body></html>'
print(remove_tags(html))
Copier après la connexion

Résultat :

Test Parse me!
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, la fonction re.compile() est utilisée pour créer un objet d'expression régulière en utilisant '<1+>' balises. Nous passons ensuite cet objet d'expression régulière en paramètre à la fonction re.sub(), qui remplace toutes les balises correspondantes par des chaînes vides. Enfin, nous appelons la fonction avec le texte dont les balises HTML ont été supprimées.

Bien qu'il puisse suffire d'utiliser la bibliothèque re pour traiter du texte HTML simple, si vous traitez du texte HTML complexe, lorsque vous commencerez à envisager de traiter les styles CSS et les scripts JavaScript, vous constaterez que le traitement devient plus difficile. Dans ce cas, vous pouvez utiliser la bibliothèque BeautifulSoup.

Utilisation de la bibliothèque BeautifulSoup

La bibliothèque BeautifulSoup facilite le traitement du texte HTML et est plus flexible que la bibliothèque re. BeautifulSoup vous aide à analyser le texte HTML et vous permet de sélectionner des éléments spécifiques tels que des balises, des classes, etc. Vous pouvez l'utiliser pour supprimer toutes les balises, puis extraire le contenu du texte.

Voici un exemple :

from bs4 import BeautifulSoup

def remove_tags(text):
    soup = BeautifulSoup(text, 'html.parser')
    return soup.get_text()

html = '<html><head><title>Test</title></head><body><h1>Parse me!</h1></body></html>'
print(remove_tags(html))
Copier après la connexion

Sortie :

Test Parse me!
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, nous transmettons le texte HTML à la fonction BeautifulSoup() pour l'analyse. Ensuite, utilisez la méthode soupe.get_text() pour extraire le contenu du texte en ignorant les balises HTML.

Résumé

Que vous utilisiez la bibliothèque re ou la bibliothèque BeautifulSoup, Python propose de nombreuses méthodes pour supprimer les balises HTML. Si vous avez affaire à du texte HTML simple, utilisez la bibliothèque re. Pour du texte HTML plus complexe, utilisez la bibliothèque BeautifulSoup, qui facilitera grandement le traitement. Quelle que soit la méthode que vous choisissez, vous devez être familier avec les expressions régulières et comprendre la syntaxe de la bibliothèque que vous avez choisie.


  1. >

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal