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

Entrée/Sortie Java Discussion :

Extraction des données depuis un fichier .HTML


Sujet :

Entrée/Sortie Java

  1. #1
    Membre actif
    Inscrit en
    Avril 2011
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 135
    Points : 221
    Points
    221
    Par défaut Extraction des données depuis un fichier .HTML
    Bonsoir,
    Je souhaiterais extraire des données depuis un fichier .HTML
    par exemple:
    ...
    <h1>Bonjour à Tous</h1>
    ...

    =>Je souhaiterais afficher "Bonjour à Tous".
    J'ai déjà essayé ,avec le 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
     
     public class extraction {
    public static void main(String[] args) {
    readFile("fichier.html");
    }
    public static void readFile(String pathToFile){
    try {
    BufferedReader reader = new BufferedReader(new FileReader(new File(pathToFile)));
    String ligne;
    while((ligne = reader.readLine()) != null){
    if(ligne.endsWith("</h1>")){
    System.out.println(ligne);
    }
    }
    } catch (Exception ex){
    System.err.println("Error. "+ex.getMessage());
    }
    }
    }
    =>le résultat affiché est: <h1>Bonjour à Tous</h1> or je veux éliminer les deux balises <h1> et </h1>.
    merci d'avance

  2. #2
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Salut,

    une solution hyper basique : tu fais un substring.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ligne=ligne.subString(4,ligne.length-4);

    Par contre fais gaffe, tu utilises 'endWith("</h1>") or en html tout n'est pas toujours super joli et bien indenté du coup du peux avoir une page html sur une seule ligne. Dans ce cas là tu ne trouveras jamais ta ligne qui fini par "</h1>"

    Tu peux utiliser une regex du style "<h1>(.*)</h1>" et récupérer les groupes. C'est une solution, y'en a d'autres =)
    F*ck it ! Do it !

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    il existe un foultitude de solutions :

    1. déjà en java on peut afficher directement du html (limité certes à certaines balises), par exemple avec un JLabel, mais il sera "stylé"
    2. ensuite, tu peux utiliser une des nombreuses API de parseur html pour extraire le texte :




    exemple de code jericho pour faire des extractions de texte

    traiter du html par regexp ou manipulation de chaînes est une fausse solution simple : par exemple s'il y a des entités dans le html tu vas galérer pour les afficher en clair
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre actif
    Inscrit en
    Avril 2011
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 135
    Points : 221
    Points
    221
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    il existe un foultitude de solutions :

    1. déjà en java on peut afficher directement du html (limité certes à certaines balises), par exemple avec un JLabel, mais il sera "stylé"
    2. ensuite, tu peux utiliser une des nombreuses API de parseur html pour extraire le texte :




    exemple de code jericho pour faire des extractions de texte

    traiter du html par regexp ou manipulation de chaînes est une fausse solution simple : par exemple s'il y a des entités dans le html tu vas galérer pour les afficher en clair
    Bonsoir,
    Merci pour votre réponse...
    Le problème est résolu en utilisant l'API Jericho .
    merci à tous

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

Discussions similaires

  1. extraction des attributs depuis un fichier XML
    Par pacomou dans le forum kettle/PDI
    Réponses: 4
    Dernier message: 12/12/2011, 11h51
  2. [MySQL] importer des données depuis un fichier EXEL
    Par islyoung2 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/01/2009, 06h14
  3. Extraction des données vers un fichier EXCEL
    Par vanesa dans le forum SQL
    Réponses: 4
    Dernier message: 29/10/2008, 15h29
  4. Intégre des données depuis un fichier xml
    Par KATE6447 dans le forum InfoPath
    Réponses: 5
    Dernier message: 20/03/2008, 13h32
  5. [débutant]extraction des données d'un fichier xml simple
    Par ekram dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 14/03/2007, 12h24

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