IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Récuperer des liens HTML avec une expression régulière


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 123
    Par défaut Récuperer des liens HTML avec une expression régulière
    Bonjour,

    J'ai une page HTML, et je cherche à récupérer mot_1, mot_2, ....mot_n qui se trouvent entre les balises <a.....> et </a>.
    Ma page est ainsi : blabla<a.....>mot1</a>blabla<a.....>mot2</a>blabla<a.....>mot3</a>blabla......

    J'ai écris ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expr = re.findall('<a.*>(.*)</a>',html)
    mais évidemment il ne récupère que le dernier mot, je ne trouve pas comment indiquer qu'il doit s'arrêter au premier > qu'il rencontre
    Si quelqu'un a une idée simple (je l'ai fait à la main avec une boucle et un html.find, mais j'aimerai le faire avec une expression régulière)

    Merci,
    Vincent

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut.

    Il faut inverser la tendance à la gourmandise, cela se fait avec re en utilisant *?.

    Ton expression devrait alors être du style.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste = re.findall('<a.*?>(.*?)</a>', html)
    Attention, cela pourrait poser problème si tu as des balises html entre les balises a, comme des images par exemple, à toi de voir pour filtrer via l'expression, ou après récupération de la liste.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 123
    Par défaut
    Super, c'est exactement ce que je cherchais, je ne connaissais pas cet opérateur.

    Merci,
    Vincent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier des noms avec une expression régulière
    Par topor dans le forum VBScript
    Réponses: 3
    Dernier message: 16/07/2014, 11h34
  2. Problème avec une expression régulière ?
    Par MaTHieU_ dans le forum Delphi
    Réponses: 1
    Dernier message: 28/04/2007, 18h50
  3. [RegEx] problème avec une expression régulière
    Par sissi25 dans le forum Langage
    Réponses: 2
    Dernier message: 19/04/2007, 09h12
  4. [JMeter] Extraction avec une expression régulière
    Par LittleBean dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 04/04/2007, 17h39
  5. Problème avec une expression régulière
    Par Darkroro dans le forum Langage
    Réponses: 7
    Dernier message: 09/10/2006, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo