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 Java Discussion :

probleme de recupération d'une valeur sur une page web


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Points : 30
    Points
    30
    Par défaut probleme de recupération d'une valeur sur une page web
    Bonjour a tous,

    Je tente actuellement de monter un petit site de bourse en ligne et je bloque sur une partie essentielle du projet a savoir la partie qui va lire et récupère la valeur d'une action sur un site tel que les echos.fr. Voila tout marché mais recemment sa bug, je recupère une exception et plus rien....

    Si un expert passe par la:

    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
     
    import java.net.*;
    import java.text.DecimalFormat;
    import java.io.*;
     
    public class LectureURL {
     
    	public static void main(String args[]){
     
    System.out.println(getVal("http://bourse.lesechos.fr/bourse/cours.jsp?Code=FR0004061513&Place=00025-TD&Codif=ISI"));
    }
     
    	static float getVal(String url){
    		try{
    			URL page = new URL(url);
    			URLConnection urlConx = page.openConnection();
    			BufferedReader in = new BufferedReader(new InputStreamReader(urlConx.getInputStream()));
    			String inputLine, truc;
     
    			while ((inputLine = in.readLine()) != null){
    				if (inputLine.contains("<TD class=\"TABLEAU-SEANCE-15\" align=\"center\">")){
    					 inputLine = in.readLine().trim();
    					 inputLine = inputLine.substring(0,inputLine.length()-1);
    					 inputLine = inputLine.replaceAll(Character.toString((char)160), "");
    					 System.out.println(url + inputLine);
    					 float val = (float)Float.parseFloat(inputLine.replaceAll(",", "."));
    //System.out.println(val + "valeur");
    					 return val;
    				}
    			}
    			return 0;
    		}
    		catch(Exception e){
    			System.out.println(url);
    			System.out.println(e);
    			return 0;
    		}
    	}
    }
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    Merci davance !!

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Ca marchera mieux

    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
     
    static float getVal(String url) {
        try {
            URL page = new URL(url);
            URLConnection urlConx = page.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(urlConx.getInputStream()));
            String inputLine, truc;
     
            while ((inputLine = in.readLine()) != null) {
            if (inputLine.contains("<TD class=\"TABLEAU-SEANCE-15\" align=\"center\">")) {
                while ((inputLine = in.readLine().trim()).equals("")) {}
                inputLine = inputLine.substring(0, inputLine.length() - 1);
                inputLine = inputLine.replaceAll(Character.toString((char) 160), "");
                System.out.println(url + " "+inputLine);
                float val = (float) Float.parseFloat(inputLine.replaceAll(",", "."));
                // System.out.println(val + "valeur");
                return val;
            }
            }
            return 0;
        } catch (Exception e) {
            System.out.println(url);
            System.out.println(e);
            return 0;
        }
     
        }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    ah la la un ".equals("")" vous manquent et le monde ne tournent plus rond...

    Merci Maître zorm


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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. Tri d'une requête sur une valeur ou une autre
    Par mims1664 dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/08/2009, 18h40
  3. Recuperer les valeur d'une listbox sur un page web
    Par will97 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 02/03/2009, 05h39
  4. afficher une valeur sur une feuille lorsqu'une checkbox est cochée
    Par chrnoe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2008, 15h39
  5. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 11h21

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