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 :

Interpréter le JavaScript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 32
    Points
    32
    Par défaut Interpréter le JavaScript
    Bonjour,

    J'ai besoin de développer un webcrawler qui soit capable d'interpréter le javascript. L'idée étant de faire de la veille concurrentielle, je suis souvent bloqué avec php/curl sur des sites comme ebay qui n'autorise pas l'utilisation du moteur de recherche si JS est désactivé ou d'autre qui affiche les prix après appel javascript. J'ai trouvé phantomjs, mais je ne suis pas certain que ça réponde à mon besoin. Des idées/pistes ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Points : 649
    Points
    649
    Par défaut
    Pour les gros sites il y a généralement des APIs et sinon pourquoi pas se reposer sur un navigateur en codant un greffon. Sous Mozilla Firefox il y a un tout un écosystème pour bidouiller JavaScript & Cie sur des pages Web.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 32
    Points
    32
    Par défaut
    En effet, amazon par exemple a une API, idem pour Cdiscount. Ebay par contre n'en n'a plus, google shopping n'en a pas etc...

    Mon soucis c'est que j'ai besoin de communiquer avec mon serveur pour récupérer des informations de recherche, de comparaison en utilisant des systèmes maison de comparaison de contenu, d'image etc... Je sais bien qu'il serait plus simple d'appeler les pages avec un navigateur, mais je ne saurai même pas par où commencer. Je n'ai aucune idée des possibilités d'inter-action avec mon serveur par exemple.

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    développer le webcrawler en js avec node.js
    developper le webcrawler en C++ et embarquer V8 ou un autre
    développer le webcrawler en java avec java8 qui contient un interprète nommé Nashorn

    A+JYT

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Points : 649
    Points
    649
    Par défaut APIs non officielles et bidouiller avec son navigateur
    Pas d'API officielle ? Peut-être qu'il en existe une alternative et même plusieurs. D'ailleurs d'un certain point de vue tu cherches à développer une solution similaire même si plus modeste. Faut comprendre qu'on est pas les seuls à hacker joyeusement des sites pour extraire des données et plus si affinités !

    Sinon pour des pistes je pense à Greasemonkey, même si c'est pour personnaliser le fonctionnement d'un site ça très ludique et donc idéal pour découvrir ce monde merveilleux, et surtout des ressources comme le Mozilla Developer Network. Les possibilités sont infinies : Extension (JavaScript & Cie), greffon en C/C++, accès à des bases de données… L'avantage c'est de disposer de la puissance du moteur d'un navigateur. Par exemple la fonctionnalité d'archivage d'une page une fois tout son contenu chargée et exécutée donc miam miam (X)HTML, CSS, JavaScript…

    Après je peux pas t'aider plus précisément car je suis un petit joueur ! Mais j'ai été suffisamment curieux pour faire quelques découvertes intéressantes.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par sekaijin Voir le message
    développer le webcrawler en js avec node.js
    developper le webcrawler en C++ et embarquer V8 ou un autre
    développer le webcrawler en java avec java8 qui contient un interprète nommé Nashorn

    A+JYT
    C'est peut être une piste. Mon crawler est basé sur un module que j'ai acheté qui est conçu en groovy, donc java, lui fait appel à des fonctions php donc me laisse très libre de ce que je voudrai faire avec les données. Je n'ai donc pas eu à réinventer la roue sur la base du crawler même si j'aurai très bien pu le faire en pure php. Est ce que je pourrai simplement y greffer java8 ? Je précise, je n'y connais rien en java, js, etc... Mes seuls amis sont php/mysql/html

    @ohnomorejmmings

    Si je n'arrive pas à adapter l’existant, je pense que je partirai sur une solution comme la tienne.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 32
    Points
    32
    Par défaut
    La réponse du développeur du module sous groovy :

    Cela semble très complexe. Nashorn déjà ne simule pas la page web, il n'interprète que le javascript, autrement dit vous n'avez pas d'interaction entre le DOM du HTML et les commandes javascript. C'est surtout l'évaluation de fonctions javascript hors contexte que fait la librairie.

    Ensuite il ne charge pas tous les scripts d'une pages web (qui dépendent généralement les uns des autres). Ca semble difficilement concevable. Si on voudrait interpréter le javascript d'une page web, le mieux est d'utiliser une librairie comme jWebBrowser mais c'est plus lourd, nous ne l'inclurons pas dans notre outil. Par contre en groovy vous pouvez charger des librairies non incluse dans notre outil. Si vous en avez le besoin, vous pouvez donc l'utiliser
    Qu'en pensez vous ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Points : 649
    Points
    649
    Par défaut
    Que ce module répond pas à ton besoin de récupérer le contenu généré par du JavaScript ou tout du moins à intercepter une exécution afin d'en faire ce que tu veux. Désolé si j'ai un peu perdu le sens du schmilblique héhé !

Discussions similaires

  1. IE et Firefox : différences d'interprétation de Javascript
    Par skythe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/01/2009, 12h40
  2. Composant permettant d'interpréter du javascript
    Par julie4207 dans le forum Composants
    Réponses: 5
    Dernier message: 02/10/2008, 10h48
  3. BBCODE interprété par javascript
    Par MisterMacPhisto dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/04/2007, 15h25
  4. [IE] Interprétation erreurs JavaScript
    Par webrider dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2007, 22h30
  5. [PHP-JS] interpréter du javascript
    Par max44410 dans le forum Langage
    Réponses: 9
    Dernier message: 02/09/2006, 20h20

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