undefined
Blog > Connaissances > Post

Expression régulière pour extraire les données dans HTML

Wednesday, June 08, 2022

« Vous saurez à quel point l'expression régulière est puissante une fois que vous l'utiliserez. » - s'exclame chaleureusement un développeur.

 

Ceux qui ont eu des affaires avec les données textuelles comprennent certainement très bien à quel degré est ennuyant un ensemble de données désordonnées. Mais, tôt ou tard, on finit par découvrir que la plupart des données se présentent sous une forme non structurée. Dans cet article, nous allons parler de l'expression régulière pour faire savoir qu'est-ce que c'est l'expression régulière, que peut-on faire avec l'expression régulière.

 

Sommaire
Selon la définition de Wikipédia, l'expréssion régulière, également appelée RegEx (mot-valise) ou expression rationnelle, est une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Il y a un sénario d'utilisation très typique : des opérations " rechercher et remplacer ".
Aussi obscur que cela puisse sembler, le concept est en fait assez facile à comprendre. Supposons que vous vouliez trouver un certain film sur Netflix, vous feriez probablement une recherche avec le titre du film ou même une partie du titre. Le moteur de recherche de Netflix recherchera alors tous les films dont le titre correspond à ce que vous avez entré dans le champ de recherche et peu après, vous lirez une liste de résultats qui correspondent aux mots clés de votre recherche. L'expression régulière est le même que les mots que vous avez utilisés pour rechercher le film voulu.
En bref, l'expression régulière désigne les modèles de texte que vous pouvez utiliser pour faire correspondre des éléments ou remplacer des éléments dans une chaîne de caractères.
Les expressions régulières sont aujourd’hui utilisées pour programmer des logiciels avec des fonctionnalités de lecture, de contrôle, de modification, et d'analyse de textes ainsi que dans la manipulation des langues formelles que sont les langages informatiques.

 

Que peut-on faire avec l'expression régulière ?

L'expression régulière est très utile pour correspondre des modèles de textes courants, tels que l'e-mails, les numéros de téléphone, les zip codes, etc.

 

En un mot, l'expression régulière peut aider à faire correspondre les tags HTML et à extraire les données des documents HTML.
Le HTML est virtuellement composé de caractères, et ce qui rend l'expression régulière si puissante, c'est qu'une expression régulière peut correspondre à plusieurs chaînes. Certes, l'expression régulière n'est pas le premier choix pour analyser correctement le HTML, car des erreurs risquent de se présenter, par exemple, laisser échapper des tags de fermeture, n'arriver pas à identifier certains tags. En outre, les programmeurs préfèrent d'autres analyseurs HTML merveilleux comme PHPQuery, BeautifulSoup, html5lib-Python, etc. Tout programmeur outoute personne souhaitant extraire des données Web est fortement encouragé à apprendre à utiliser l'expression régulière car cet outil améliore sûrement votre efficacité de travail et votre productivité.
Voici quelques exemples d'expressions régulières :
  • Expression régulière pour faire correspondre les tags de HTML :

 

<(.*)>.*?|<(.*) />
<(\S*?)[^>]*>.*?</\1>|<.*?/>

 

  • Expression régulière pour correspondre à tous les tags TD :

 

<td\s*.*>\s*.*<\/td>

 

  • Expression régulière pour correspondre à <img src = "test.gif"/> :

 

<[a-zA-Z]+(\s+[a-zA-Z]+\s*=\s*("([^"]*)"|'([^']*)'))*\s*/>

 

Nous pouvons faire correspondre à une variété de tags HTML en mettant en service une telle expression régulière et donc extraire facilement des données dans des documents HTML.
Vous pouvez aussi faire référence à ce tableau Regular Expressions Cheat Sheet s'il y en a besoin.
De plus, j'énumère des sites popualaires pour tester ou dépanner qui peuvent également aider à générer ou vérifier les expressions régulières.

 

 

Octoparse - outil de RegEx gratuit

Pour ceux qui veulement scraper et arranger vos données dans une forme structurée, Octoparse est à votre service. Les utilisateurs sont suceptibles d'avoir accès à un outil gratuit de RegEx. Il vous suffit d'ouvrir le logiciel et de cliquer sur l'icône " Tools " sur le menu de la barre latérale.

    

 

Cas 1 : localiser le texte en utilisant les caractères proches
Si vous voulez saisir le chiffre qui indique l'évaluation à partir de HTML suivant, vous pouvez utiliser l'outil intégré fourni par Octoparse en utilisant "Start with" and "End with". <div aria-label="Rated 4.3 stars out of five stars" role="img">

 

Cas 2 : écrire des RegEx dans la fin d'extraire des informations spécifiques (telles que email, adresse de site, etc.)
Si vous essayez de saisir l'email à partir du code de source (surtout s'il s'agit des URLs qui partagent des structures différentes, par exemple <a href="mailto: support@octoparse.com">support@octoparse.com</a>), vous pouvez utiliser directement le RegEx suivant pour récupérer l'email. ([a-zA-Z0-9_.-]@[a-zA-Z0-9_.-])

 

Découvrir davantage Octoparse
Octoparse est un outil d'extraction de données puissant sans programmation qui permet d'extraire automatiquement les données de n'importe quel site web en quelques clics. Ce logiciel visuel fournit un outil d'expression régulière intégré qui permet de facilement générer des expressions régulières simples pour répondre à vos différents besoins en matière d'extrait de contenu dans des documents HTML. En outre, Octoaprse prend entièrement en charge la vérification des expressions régulières personnalisées. Allez découvrir !

  

Lectures conseillées
Lectures recommendées

Téléchargez Octoparse pour démarrer le web scraping ou contactez-nous pour des autres
questions sur le web scraping !

Contactez-Nous Télécharger
Nous utilisons des cookies pour améliorer votre expérience de navigation. Découvrez comment nous utilisons les cookies et comment vous pouvez les contrôler en cliquant sur les paramètres des cookies. Si vous continuez à utiliser ce site, vous consentez à notre utilisation des cookies.
Accepter Rejeter