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

Langage Perl Discussion :

EXTRAIRE A PARTIR DU HTML


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut EXTRAIRE A PARTIR DU HTML
    Bonjour,

    comment peut on extraire certaines balises d'un fichier html et les stocker
    dans un autre fichier,
    exemple::je voudrais prendre ce qu'il ya dans la balise texte <texte>............</texte> et le stocker dans un fichier????????

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,
    personnelement, j'utilise les expressions régulière mais il existe surement un module disponible sur cpan

  3. #3
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Les Expressions Rationnelles sont souvent la première idée qui vient à l'esprit pour parcourir et récupérer des informations dans du HTML. C'est naturel, on exploite les RE dans pleins de fichiers, ça marche bien, c'est du pur bonheur ...

    Le problème, c'est que dans le cas du HTML, mais aussi du XML ou du SGML, c'est une idée finalement assez mauvaise.

    En effet, on court ainsi divers risques, quant au formatage du code *ML (casse, sauts de lignes, etc.), et surtout quant à sa structure (tables ou autres balises imbriquées, et je ne parle même pas des paires de balises croisées tolérées par certaines versions de HTML : <b><i> </b></i> - Quelle horreur !).

    La solution, dans ce cas est :
    - soit de s'appuyer sur des modules existants dans la hiérarchie des HTML::*, XML::*, etc.
    - soit de réinventer la roue (mais ça fait toujours plaisir, si c'est pour soi, et pas pour un besoin "industriel") et de "parser" soi-même le *ML

    Dans le dernier cas, il est peut être préférable de ne pas s'appuyer sur des extractions entre paires de motifs, mais plutôt sur un parcours séquentiel du fichier, en gérant un état (une pile) des balises ouvertes/refermées et de leur contenu associé.

    C'est du moins mon avis, et je dois avouer que j'ai mis longtemps à l'accepter, mais que depuis, c'est plus confortable ... (XML::Simple rulez pour mes besoins)

  4. #4
    Membre éclairé Avatar de scaleo
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 327
    Par défaut
    Moi j'ai le ti bout de code suivant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    sub tags { 
      my %page1 = @_; 
     
      my $html = $page1{result}[1]; 
     
      my ($titre, $charset, $robots, $keywords, $category, $description, $lang) = ('not_found') x 7; 
     
     
      if ( $html =~ /<TITLE>([^\<]+)<\/TITLE>/ig ) { 
        $titre = $1; 
      } 
     
      if ( $html =~ /<meta[^>]+charset=([^\"]+)\"[^>]*/isg ) { 
        $charset = $1; 
      } 
     
      if ($html =~ m/robots/g && $html =~ /content=\"(.+)\">$/isg ) { 
        $robots = $1; 
      }
     
     
      if ($html =~ m/keywords/g && $html =~ /content=\"(.+)\">$/isg ) { 
        $keywords = $1; 
      } 
     
      if ($html =~ m/category/g && $html =~ /content=\"(.+)\">$/isg ) { 
        $category = $1; 
      } 
     
      if ($html =~ m/description/g && $html =~ /content=\"(.+)\">$/isg ) { 
        $description = $1; 
      } 
     
      if ( $html =~ /^<meta.+content=(.+)\"$/isg ) { 
        $lang = $1; 
      } 
     
     
         print "$titre\n";
         print "$charset\n";
         print "$robots\n";
         print "$keywords\n";
         print "$category\n";
         print "$description\n";
     
    }
    Exist'il un moyen plus efficace d'extraire les tags html ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2009, 09h22
  2. Lancer application local a partir de HTML
    Par salrouge dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/11/2007, 10h09
  3. extraire un bout d'html d'un fichier
    Par wildmary dans le forum ANT
    Réponses: 1
    Dernier message: 07/08/2007, 10h54
  4. Extraire d'un fichier HTML
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2007, 10h43
  5. Ouvrir notepad et lui passer un parametre à partir page html
    Par chuckboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/10/2005, 08h51

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