Récuperer info dans page HTML

[Résolu]
Signaler
Messages postés
11
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
7 décembre 2009
-
Messages postés
11
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
7 décembre 2009
-
J'ai un programme JAVA à partir duquel je fais une requete GET sur un
site et j'obtiens une longue page HTML et je voudrais récupérer
certaines informations utiles.

J'ai essayé de récupérer ces infos dans mon prog JAVA mais ça rame à mort.


Donc est-ce quelqu'un pourrait m'aider à trouver une solution rapide,
please. (à executer à partir de mon programme JAVA bien sur!)

4 réponses

Messages postés
19
Date d'inscription
jeudi 28 juillet 2005
Statut
Membre
Dernière intervention
27 octobre 2006

Slt,
Eh bien parser un fichier html, C exactement ce ke je suis en train de faire. G fait un programme de mon niveau, C a dire débutant, qui lit caractère par caractère et qui compare avec un String initialisé en dur :

private String cherche(String str, BufferedReader buff){

boolean quit=false; //variable d'arret
char car; //caractère lu, en cours
String retour=""; //valeur renvoyée par la fonction, soit "" par défaut

try {
while (!quit){
for (int i=0;i<str.length();i++){
if ( (car = (char) buff.read())==(char)(-1))
quit=true; //si on arrive au bout du fichier (EOF), on quitte
else
if (car!=str.charAt(i))
break; //si le caractère ne correspond pas, on recommence au début de str
else
if (i==str.length()-1){ // si la chaine est identifié
while ((car = (char) buff.read())!='<') //on lit ce qui suit jusqu'à '<'
retour+=car; //et on écrit la chaine en concaténant les caractères
quit=true; //on a obtenu la valeur recherchée, on quitte
}
}
}

return retour;
} catch (IOException e){
System.out.println("IOException : "+e.getMessage());
}
return retour;
} // fin de cherche(String, buff)

avec buff le BufferedReader du File sur lekel tu travail
et str est le String qui permet de t'arreter au bon endroit ds ta page HTML
Pour toi, str="existe ";
Vouala!
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
Bonjour ,
Je ne suis pas à 100% sur de ma réponse mais je vais essayer de t'aider:
tu te rappèles de tes débuts en java?
tu utilisais la méthode main:
class XXX
{
public static void main(String[] args)
{
System.out.println("Mon premier script, c est facile finalement");
}
}
tu te demandes à quoi sert ce tableau???
et bien il récupères les infos:
il te suffit de passer des informations en ligne de comande une fois que tu as compilé le fichier suivant:
class TableauArgument
{
public static void main(String[] args)
{
System.out.println("Première valeur: "+args[1] );
System.out.println("Deuxième valeur: "+args[2] );
}
}
tu l'executes comme ceci:" java TableauArgument valeur1 valeur2"
et ton programme va te retourner les valeurs!!!
Première valeur: valeur1
Deuxième valeur: valeur2

alors tu peux simplement appliquer cette méthode à ta page web...
Bonne journée



<HR SIZE=2>

Si ma réponse te plaît merci de l'accepter
Messages postés
11
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
7 décembre 2009

En fait voici exactement ma problématique: Dans une page HTML j'ai le source suivant:




Il

existe 1 abonné

correspondant à votre recherche

Nom
:

Dupont

Localisation
: Paris

,

imprimer


et moi je veux récupérer le nombre d'abonné ainsi que leur nom.

Dans mon programme JAVA j'ai une méthode mais elle consiste à remplacer
et à éliminer certain caractère ... et à la fin il ne me reste que ceux
dont j'ai besoin. Ceci est une methode lourde et contraignante -->
donc le prog rame à mort!!!!



Du coup je suis à la recherche d'une solution plus soft et qui soit plus rapide (style un parser..?).

So HELP me please
Messages postés
11
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
7 décembre 2009

Merci [auteurdetail.aspx?ID=555997 hmarchal]
, ça marche nickel ton bout de code!



==========

la_vigière touours!