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

Android Discussion :

Lire le code source d'une page web


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 66
    Points : 26
    Points
    26
    Par défaut Lire le code source d'une page web
    Bonjour à tous,

    J'aimerai connaître la meilleur méthode pour lire le contenu d'une page web (HTML).

    Le site en question (par exemple : 192.168.1.50) est très simple (tableau de valeurs) et très basique niveau UI.

    J'aimerai récupérer le contenu du site pour reformater les données dans une application Android.

    J'ai trouvé quelques astuces sur le net mais j'aimerai avoir de bons conseils pour démarrer dans ce projet là.

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Points : 171
    Points
    171
    Par défaut
    Pour ce que tu veux faire, je pense qu'un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    try 
    {
    	URL test = new URL("http://google.fr");
    	InputStream response = test.openStream(); // Response contiendra la réponse 
    } 
    catch (MalformedURLException e) 
    {
    	e.printStackTrace();
    }
    catch (IOException e) 
    {
    	e.printStackTrace();
    }
    fera l'affaire

  3. #3
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    A l'aide d'un objet HttpClient tu récupères la page web en question (c-a-d du xhtml) que tu dois ensuite parser pour en extraire ce qui t'intéresse.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 66
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Sake_reflex Voir le message
    Pour ce que tu veux faire, je pense qu'un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    try 
    {
    	URL test = new URL("http://google.fr");
    	InputStream response = test.openStream(); // Response contiendra la réponse 
    } 
    catch (MalformedURLException e) 
    {
    	e.printStackTrace();
    }
    catch (IOException e) 
    {
    	e.printStackTrace();
    }
    fera l'affaire
    Merci pour vos réponses.

    Je vais y travailler.

    Par contre, j'ai une autre question.

    Sur la page web en question, il y a des "liens" que l'on peut "cliquer".
    En regardant de plus près le code source de la page je vois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a href=/>Reload</a>\
     
    <a href=/X>TEST</a>
    Je pense que cela envoi des commandes "/" et "/X" vers le serveur qui héberge la page web.

    mais sous Android comment interagir de la même manière?

    En imaginant que je veuille remplacer ce "lien" (par exemple : Reload) par un bouton sous Android qui fait la même action.

    Comment dois-je procéder?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 66
    Points : 26
    Points
    26
    Par défaut
    J'ai également oublié de mentionner que la page web affiche des données qui changent au cours du temps.

    Dans le code HTML de la page je peux visualiser la variable contenant la donnée utile. Mais sous Android comment récupérer le contenu de cette variable par exemple la variable "TEST" ci dessous qui affiche en faite "42" sur la page web?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script>document.write(TEST)</script>\
    merci encore

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 66
    Points : 26
    Points
    26
    Par défaut
    J'ai refais au plus simple le code HTML de la page web hébergée.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    const code   char    *indexPage =
     
    "<meta http-equiv=\"refresh\" content=\"1;url=http://192.168.1.20\">\
    <HTML><HEAD></HEAD><BODY>\
    <h1>Mini Web Server</h1>\
    <script src=/s></script>\
    Variable Test: <script>document.write(TEST)</script>\<br />\
    Variable An0: <script>document.write(AN0)</script>\<br />\
    </BODY></HTML>\
    " ;
    Quand je me connecte via mon navigateur, je parviens à voir les variables "TEST" et "AN0" qui change toutes les secondes (refresh = 1).

    Avec une application Android, je parviens à récupérer le code source de la page web.
    Malheureusement, je ne m'y connais pas très bien en HTML et autre langage web.

    Au final lire le code source de la page web ne me convient pas car je dois pouvoir récupérer les valeurs numériques contenues dans "TEST" et "AN0" et les afficher dans un textview.

    Comment peut on procéder pour exploiter les données d'une page HTML sous Android ?

    merci de votre aide

    EDIT : le mini web server que j'ai répond à des requêtes UDP apparemment.
    the system will reply to UDP requests on any port.
    the system will reply to HTTP requests on port 80, GET method with pathnames :
    * / will return the HTML main page
    ...etc

  7. #7
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    En fait, ce n'est pas le code source qui t'intéresse, mais le résultat de l'interprétation du code source. C'est une nuance de taille mais je n'ai malheureusement pas la réponse à ta question
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 66
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    En fait, ce n'est pas le code source qui t'intéresse, mais le résultat de l'interprétation du code source. C'est une nuance de taille mais je n'ai malheureusement pas la réponse à ta question
    Hum c'est embêtant..

    Peut être je devrai refaire un post ?

    Mais je ne sais pas quoi mettre comme titre

  9. #9
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    La valeur que tu recherches est contenue dans le DOM (document object model) manipulé par le moteur de rendu d'un navigateur (webkit dans le cas android). Si tu pouvais récupérer ce dom, ce serait gagné...
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 66
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    La valeur que tu recherches est contenue dans le DOM (document object model) manipulé par le moteur de rendu d'un navigateur (webkit dans le cas android). Si tu pouvais récupérer ce dom, ce serait gagné...
    Merci beaucoup pour ton aide.

    Je vais y travailler

Discussions similaires

  1. Télécharger le code source d'une page web en C
    Par DooSquare dans le forum Bibliothèques
    Réponses: 21
    Dernier message: 28/06/2007, 17h24
  2. comment charger le code source d'une page web avec dotnet ?
    Par gizgoz dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 14/05/2007, 20h51
  3. Ouvrir le code source d'une page WEB
    Par jacques13 dans le forum Général VBA
    Réponses: 1
    Dernier message: 17/12/2006, 08h01
  4. Lire le code source d'une page
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 25/08/2006, 19h42
  5. Récupérer le code source d'une page web
    Par glRaZ dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/12/2004, 09h16

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