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

avec Java Discussion :

Récupérer données Web


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Récupérer données Web
    Bonjour,
    Je réalise un programme Java et je souhaiterai savoir s'il est possible de récupéré par l'intermédiaire de ce programme ou d'un autre du contenu dans une page internet.

    Exemple : Météo, ...


    Merci.

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut une des solutions
    Bonjour Nicotendo,

    Une des solutions est d'aller sur ce site de météo :
    http://french.wunderground.com
    Tu choisis ton continent (select a Region), et le pays.
    (copie d'écran : pageContinent.jpg)
    En bas de page, clique sur ta ville.
    Tu es dirigé vers une nouvelle page avec les infos sur ta ville.
    Recherche en bas à gauche "Get Your Weather Sticker!" .
    (GetYWS.jpg)
    Tu as alors une page avec plusieurs bannières météo sur ta ville.
    Tu peux alors soit afficher le code source et rechercher ta bannière, soit si tu as installé fire-bug, faire un clic droit sur ta bannière, puis "inspecter un élément'. Clique droit "Editer code HTML", copier et coller dans ta page HTML.
    En y incluant la balise <href> qui l'entoure. (EditerHTML.jpg)
    Tu obtiendras pour Bordeaux le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="/geo/BigWeatherStickerPromo2/global/stations/07510.html">
    <img src="http://weathersticker.wunderground.com/weathersticker/big2_metric_cond/language/french/global/stations/07510.gif" height="61" width="468" alt="" />
    </a>

    Cordialement,
    wmahann
    Images attachées Images attachées    

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Autre solution moins de choix mais mieux expliquée
    Re-Bonjour Nicotendo,

    Une autre solution n'offrant pas de choix de sticker mais qui est plus simple à mettre en place est sur ce site :
    http://orveauetextras.over-blog.com/...5865814-6.html

    Cordialement,
    wmahann

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Bonjour et merci à toi.

    En effet ta solution fonctionne mais ce n'est pas ce que je recherche, j'ai du mal m'exprimer.
    Enfaite ce que je souhaiterai faire, par exemple, c'est que tout les matins, mon programme java (ou à la rigueur avec mon site web) se connecte à plusieurs sites web afin de récupérer des données "écrites" et par exemple enregistré tout les matins dans un fichier texte (exemple météo du jour, actualité, sortie ciné tout les mercredis...).

    Je pense que c'est possible, mais le plus complexe c'est de programmer quelque chose en java ou php par exemple qui me fait tout cela automatiquement.

    Merci encore.


    Edit: Une sorte de robot enfaite

  5. #5
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Bonjour,

    Tu pourrais éventuellement passer par des appels HTTP mais ça t'oblige à parser le contenu renvoyé pour en extraire l'information voulue.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  6. #6
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par Deadpool Voir le message
    Tu pourrais éventuellement passer par des appels HTTP mais ça t'oblige à parser le contenu renvoyé pour en extraire l'information voulue.
    je suis interessé par cette methode. tu pourais me donner plus d'explication ou alors un exemple ??
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  7. #7
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Ben en gros, il s'agit de faire comme un navigateur web, à savoir se connecter au serveur du site cible et en récupérer le flux HTML à l'aide d'une requête HTTP.

    Pour cela, en Java, on peut utiliser la classe HttpURLConnection.
    Par exemple, pour récupérer le flux html de google.fr en GET:


    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
     
    public static void main(String args[]) throws Exception{
         //déclaration de l'url cible
         URL url = new URL("http://www.google.fr");
     
         //ouverture de la connexion 
         HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
     
         //prépration de la requête HTTP GET
         urlConnection.setRequestMethod("GET");
         urlConnection.connect();
     
         //lecture et affichage de la réponse
         BufferedReader s = new BufferedReader(
                    new InputStreamReader(
                    urlConnection.getInputStream()));
         String line = s.readLine();
         while (line != null) {
                System.out.println(line);
                line = s.readLine();
         }
         //fermeture du flux de lecture
         s.close();
     
         //fermeture de la connexion vers le site
         urlConnection.disconnect();
    }
    Là il s'agit d'une requête http toute simple en GET, il y a aussi possibilité de faire une requête en POST voir de passer des paramètres.

    Bon après il reste à parser le flux html pour y récupérer ce que l'on veut, ce qui n'est pas forcément évident.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 76
    Points : 27
    Points
    27
    Par défaut
    je pense que ce que tu veux réaliser est un grand projet.
    il faut d'abord maîtriser chaque partie à part.
    en ce qui concerne le fait de les faire automatiquement, il faut un petit peu se familiariser avec les Timer et TimerTask au début puis aller vers Quartz qui est très complet. Ce dernier peut faire comme tu as dit, chaque mercredi, tout les jours, ...

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/04/2011, 09h52
  2. Récupérer données distantes sur page web
    Par gégé140488 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 10/11/2010, 13h59
  3. Récupérer données d'une page web
    Par dakota77 dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/04/2010, 14h50
  4. [w10]récupérer données page web
    Par minoltis dans le forum WinDev
    Réponses: 2
    Dernier message: 08/02/2007, 13h53
  5. Récupérer données d'une page web
    Par vallgui dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/10/2006, 01h21

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