Skip to main content

Hello everyone,

I’m currently facing a challenge with extracting plain text from HTML content, and I’m looking for some advice on how to resolve it.

The issue arises when I try to extract all text segments located between various HTML tags. I’ve been using a regular expression to capture the text, but I’ve encountered a limitation where only the first occurrence of text is retrieved, while subsequent occurrences remain unextracted. The regular expression I’m using is:

>(?P<texte_brut>e^<>]+)<

This works for capturing the first block of text but doesn’t return the remaining segments found within the other tags. My goal is to extract all text occurrences embedded between HTML tags in a single process.

For instance, given the following HTML:

<p>Chers voyageurs,</p>
<p>En raison de travaux sur la commune de Vitrolles, les lignes 7 et 20 sont déviées du 25/09 au 31/12 de 6h à 21h.</p>
<p><strong>Arrêts non desservis :</strong></p>
<p>- Lycée J.Monnet</p>

 

I would expect to retrieve these text segments:

  1. Chers voyageurs,
  2. En raison de travaux sur la commune de Vitrolles, les lignes 7 et 20 sont déviées du 25/09 au 31/12 de 6h à 21h.
  3. Arrêts non desservis :
    • Lycée J.Monnet

It seems there may be a limitation in how multiple text instances are processed during extraction. I’ve tried different approaches but haven’t yet found a method to ensure that all text segments between tags are captured at once.

Has anyone experienced something similar or knows of a more effective way to extract all text blocks from HTML content? Any advice on adjustments to the regular expression or processing method would be greatly appreciated.

You will find attached the screenshot of the extract text processor used.

Thank you in advance for your responses!

Auto-translation 🪄

Bonjour à tous, je suis actuellement confronté à un problème d'extraction de texte brut à partir de contenu HTML et je recherche des conseils pour le résoudre. Le problème survient lorsque j'essaie d'extraire tous les segments de texte situés entre différentes balises HTML. J'utilise une expression régulière pour capturer le texte, mais je rencontre une limitation où seule la première occurrence de texte est récupérée, tandis que les occurrences suivantes restent non extraites. L'expression régulière que j'utilise est :>(?Px^<>]+)Chers voyageurs,

En raison de travaux sur la commune de Vitrolles, les lignes 7 et 20 sont déviées du 25/09 au 31/12 de 6h à 21h.

Arrêts non desservis :

- Lycée J.Monnet

 Je m'attendrais pour récupérer ces textes

Hello,

Unfortunately, this processor only extracts the first occurrence it can find that matches the expression.

However, for your exact need, maybe the “Extract HTML” processor will do exactly what you want? (https://userguide.opendatasoft.com/l/en/article/kw97yuk1sk-extract-html-processor)

Best regards

Auto-translation 🪄

Bonjour,Malheureusement, ce processeur n'extrait que la première occurrence qu'il peut trouver qui correspond à l'expression. Cependant, pour votre besoin exact, peut-être que le processeur « Extraire HTML » fera exactement ce que vous voulez ? (https://userguide.opendatasoft.com/l/en/article/kw97yuk1sk-extract-html-processor)Cordialement

Hello,

  Thank you for your response.

Best regards,
 

Auto-translation 🪄

Bonjour, Merci pour votre réponse. Cordialement,

Reply