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

JavaScript Discussion :

Parser une page web en JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Par défaut Parser une page web en JS
    Bonjour à tous.

    Je cherche désespérément sur google depuis bientot 3 jours le moyen de parser une page web en JS. Je m'explique :

    Dans mon boulot, j'ai besoin d'avoir un accès aux trains à l'arrivée comme au départ de la gare de Caen. Dans cette optique, je ne cherche pas à faire du compliqué, juste d'avoir une sorte de page web divisée en 2 qui afficherai d'un coté les trains au départ, de l'autre, les trains à l'arrivée avec les infos sur les quais et autres (meme des frames me suffiront).

    Ma source est un site web : http://www.ter-sncf.mobi/station/det...4000&name=Caen , dans lequel je cherche UNIQUEMENT a afficher la partie inférieure droite (la liste des trains et leur quai d'arrivée), en supprimant le menu de gauche, le header et le footer.
    Il me faut donc trouver le moyen de parser les infos de cette page pour les remettre en forme BASIQUEMENT (genre dans une TABLE) ...

    Google ne me propose pas de solution toute faite à adapter selon mes besoins, ou alors ce sont des usines à gaz !

    Pourquoi en JS ? parce que je trouve ce langage simple, parce que dans ma boite, les PC ne disposent que d'internet explorer 8 de base, et parce que je n'ai malheureusement pas le temps d'apprendre un langage complexe !

    Si qqn à des pistes ou un début de code à fournir, une API ou que sais-je ... JE SUIS PRENEUR !

    Merci à tous ceux qui m'aideront à faire avancer mon schmilblick !!!

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Si je comprends bien, tu veux appliquer du JavaScript sur une page qui ne t'appartient pas ?

    Dans ce cas, une solution est d'appliquer un userscript via une extension de ton navigateur. La plus connue de ces extensions étant Greasemonkey : https://addons.mozilla.org/fr/firefo.../greasemonkey/ ; mais il y a un équivalent pour presque chaque navigateur.

    Si ton objectif est purement visuel, pas de manipulation de données mais uniquement de styles, un userstylesheet (CSS) peut suffire. Auquel cas je te dirigerai plutôt vers Stylish (mais c'est aussi faisable sans extension)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Par défaut Ou pas ...
    Citation Envoyé par SylvainPV Voir le message
    Si je comprends bien, tu veux appliquer du JavaScript sur une page qui ne t'appartient pas ?
    Je veux parser cette page, sachant que je n'ai pas accès à la source du fait qu'effectivement elle ne m'appartient pas, pour remettre en forme ces données pour les afficher sur un écran.

    Dans ce cas, une solution est d'appliquer un userscript via une extension de ton navigateur. La plus connue de ces extensions étant Greasemonkey : https://addons.mozilla.org/fr/firefo.../greasemonkey/ ; mais il y a un équivalent pour presque chaque navigateur.
    Malheureusement l'Admin info de ma boite ne permet pas l'ajout d'extensions au navigateur !

    Si ton objectif est purement visuel, pas de manipulation de données mais uniquement de styles, un userstylesheet (CSS) peut suffire. Auquel cas je te dirigerai plutôt vers Stylish (mais c'est aussi faisable sans extension)
    Cela reste de l'addon ...

    Peut être me suis-je mal exprimé, je cherche un JS qui "extraierait" les infos de la page TER SNCF pour les remettre en forme, genre en supprimant les balises html pour que les données soient réécritent "en dur" dans un XML ou un CSV par exemple.

    L'idéal serait :
    que sur ce code par exemple (tiré de la page du forum),
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ul id="quicklinks">
    	<li class="first"><a href="http://www.developpez.net/forums/" title="">Forums</a></li>
    	<li><a href="http://general.developpez.com/cours/" title="">Tutoriels</a></li>
    	<li><a href="http://magazine.developpez.com/" title="">Magazine</a></li>
    	<li><a href="http://general.developpez.com/faq/" title="">FAQs</a></li>
    	<li><a href="http://blog.developpez.com/" title="">Blogs</a></li>
    	<li><a href="http://projets.developpez.com/" title="">Projets</a></li>
    	<li><a href="http://chat.developpez.com/" title="">Chat</a></li>
    	<li><a href="http://www.developpez.com/newsletter/">Newsletter</a></li>
    	<li><a href="http://etudes.developpez.com/">Études</a></li>
    	<li><a href="http://emploi.developpez.com/" title="">Emploi</a></li>
    	<li><a href="http://club.developpez.com/">Club</a></li>
    	<li><a href="http://club.developpez.com/contacts/" title="">Contacts</a></li>
    </ul>

    Le script me supprime les balises <ul> et <li> pour les remplacer par une autre balise !

    Bref pas facile d'expliquer je suis désolé :/

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Tout le problème est d'appliquer un JavaScript sur une page que tu ne contrôles pas. Si un userscript est exclu, alors je ne vois pas comment automatiser cette application: tu devras exécuter le JavaScript manuellement à chaque chargement de la page, soit en le copiant/collant dans la console JS, soit en l'appliquant via un bookmarklet : http://en.wikipedia.org/wiki/Bookmarklet

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    (⌐■_■)--︻╦╤─ - - -
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : (⌐■_■)--︻╦╤─ - - -

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Peut-être avec une simple page html locale, enregistrée sur ton disque ?

    J'ai utilisé YQL de Yahoo! pour pouvoir récupérer le contenu de la page, sinon je ne pouvais pas pour des raisons de sécurité (domaines différents).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from html where url="http://www.ter-sncf.mobi/station/detail?uic=87444000&name=Caen" and xpath='//div[@id="id-candidates"]'
    Le lien de la requête : http://developer.yahoo.com/yql/conso...dates%22%5D%27

    Je pense qu'on peut filtrer d'avantage avec la requête de Yahoo et il est possible de récupérer les données en JSON ou XML.
    Je ne sais pas si c'est bien fait, je ne connais pas bien le javascript mais si ça peut t'aider…
    Là, pour essayer, il n'y a que les données pour les départs qui sont récupérées et ajoutées, sans modification, à la page :
    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
    <!DOCTYPE html>
    <html>
        <head>
            <title>ter-sncf</title>
            <meta charset="UTF-8">
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <script>
                var url = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fwww.ter-sncf.mobi%2Fstation%2Fdetail%3Fuic%3D87444000%26name%3DCaen%22%20and%0A%20%20%20%20%20%20xpath%3D'%2F%2Fdiv%5B%40id%3D%22id-candidates%22%5D'";
                $.get(url)
                        .done(function(data) {
                            ($('body').append(data.getElementsByTagName('results')[0].firstChild.outerHTML));
                        }
                        );
            </script>
        </head>
        <body>
        </body>
    </html>
    Tu te retrouves ensuite avec le contenu du site récupéré donc, si je ne me trompe pas, il « t'appartient » cette fois.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mai 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mai 2014
    Messages : 4
    Par défaut
    Isaldas, merci à toi, cela semble être un bon début pour moi. Il me faut maintenant que j'arrive à récupérer ce code pour le remettre en forme...

    J'explore cette piste qui me parait déjà être en bonne voie, même si la solution n'est pas des plus propre, cela reste une excellente alternative.

Discussions similaires

  1. [RegEx] Regex pour parser une page web
    Par cyberlp dans le forum Langage
    Réponses: 8
    Dernier message: 11/12/2011, 05h12
  2. Erreur '91' - Parser une page web.
    Par geoffrey.brunet dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/06/2010, 11h59
  3. Réponses: 2
    Dernier message: 11/04/2009, 11h04
  4. parser une page web
    Par kiss_kool dans le forum Web
    Réponses: 0
    Dernier message: 26/10/2008, 12h55
  5. [RegEx] parser une page web
    Par fayza dans le forum Langage
    Réponses: 1
    Dernier message: 07/09/2008, 12h56

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