Extraire le text d'une page Web

Signaler
Messages postés
29
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
29
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
15 avril 2008
-
Bonjour

ca fait deux semaines que je cherche comment extraire le text d'une page web à l'aide des expressions réguliére
mais je n'arrive pas pour le moment :s

si quelqu'un peut m'aider SVP ca serai génial :)

Bonne journée

7 réponses

Messages postés
29
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
15 avril 2008

une chose : quand g dit extraire le text j voulai dir  le text sans les balises donc j veux ignorer toutes les balises voila :)
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
35
Salut:

Les parseurs existent pour nous simplifier la vie.

Comme il y a des parseurs XML il y a aussi de parseurs HTML.

htmlparser.sourceforge.net
Messages postés
29
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
15 avril 2008

Salut
g vu ca :) mais le prob c'est que g déja commencé avec "java.util.regex"
j'ai vraiment besoin d'un pattern qui me permettra ca    , c'est ce que je cherche exactement  (une expression réguliére )

merci
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
35
Salut:

Utilises cette expressions régulière:

</?[^>]+>

Cette expressions régulière permet d'identifier les balises HTML.

Est ce que tu veux supprimer les scripts (JavaScript, ...)?

Si oui, il faut revoir cette expression régulière.
Messages postés
29
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
15 avril 2008

Dabord merci pour l'interet que tu portes à mon sujet :)

en fait j'aimerais avoir juste le texte brut c a dir ignorer le text qui se trouve entre les <a href et les autres balise vous voyez ?

merci :)
Messages postés
39
Date d'inscription
lundi 16 avril 2007
Statut
Membre
Dernière intervention
11 mai 2008

Salut;
je sais pas si ça ce que tu cherche, mais voila un exemple:

String text="<x>blabla</x>";
 Pattern p = Pattern.compile("<[^>]+>");
  Matcher m = p.matcher(text);
        String result ="";
       
        while(m.find()) {
            result = m.replaceAll("");
            System.out.println(result);
        }
la console affiche : blabla
Messages postés
29
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
15 avril 2008

Re Salut
ok je crois j'ai déja utiliser cette techniwue là, son probleme c'est qu'elle laisse trop de bruit ( info inutile comme les element d'un menu etc..)
hier g tester avec HTMLparser de sourceforge , lui il donne un résultat vraiment pas mal le souci est quil me laisse les element de menu qu'il trouve , seulement si j peu les enlever ca serai cool

donc ce que je fais mnt  : j'utilise le HTML paser pour me donner le text , ce meme text j'essai de lui appliquer un Pattern pour enlever les elements de menu , voila :)

    String URL = "http://htmlparser.sourceforge.net";
    StringExtractor se = new StringExtractor(URL);
    String contents = se.extractStrings(true);
    Pattern p = Pattern.compile("<[^>]*>");   /////////   Là c pour enlever les liens qu'il m'affiche à coté des élement de menu
    Matcher m = p.matcher(contents);

    // Replace links with a space
    String text = m.replaceAll(" ");

bref si tu peux tester pour voir , ca serai cool; comme ca tu verra plus prét le prob qui se pose :)

merci

bonne journée