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

Bibliothèques et frameworks PHP Discussion :

Moteur html+javascript en ligne de commande


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 69
    Points : 61
    Points
    61
    Par défaut Moteur html+javascript en ligne de commande
    Bonjour,

    Je voudrais récupérer le dom d'une page html en php au moyen d'une librairie.
    Je précise que j'ai besoin que tout le code javascript lancés au démarrage de la page html soit exécuté! Ce code modifie le dom et j'ai besoin de récupérer ces infos.

    En gros il me faudrait un navigateur en ligne de commande qui me retourne en texte le code de la page html modifiée par le javascript au démarrage

    Vous avez des pistes?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Essai avec

    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
     
    function get($url,$post_fields = null)
    	{
    		$ch = curl_init($url);
     
    		$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
    		curl_setopt($ch, CURLOPT_URL, $url);
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    		curl_setopt($ch, CURLOPT_USERAGENT, $ua);
     
    		curl_setopt ($ch, CURLOPT_HEADER, 1);
    		curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    		curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
     
    		if($post_fields != null)
    		{
    			curl_setopt($ch, CURLOPT_POST, 1);
    			curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
    		}
    		$result = curl_exec($ch);
    		$dom = new DOMDocument();
    		@$dom->loadHTML($result);
    		curl_close($ch);
    		sleep(1);
    		return $dom;
    	}
    Une fonction que j'ai déjà utilisé qui récupère l'HTML de la page appelé.
    pour en savoir sur les paramètres du cURL regarde la documentation officiel.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    Merci pour ta réponse. Malheureusement j'ai fait le test et curl ne m’exécute pas le code javascript.
    exemple d'un page html que je veux parser avec curl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    	<script>
    	function init() {
    		var p=document.createElement('p');
    		p.id='b';
    		p.innerHTML='bbbbbb';
    		document.body.appendChild(p);
    	}
    	</script>
    <body onload="init()">
    	<div id="a">aaaaaa</div>
    </body>
    </html>
    Quand je lis cette page avec curl, l'élément p avec l'id='b' n'est pas créé et non disponible.

    Il me faudrait un moteur qui interprète le javascript de la page avant de me donner le résultat

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    En PHP seul c'est pas possible

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    J'ai trouvé des moteurs javascript pour php:

    http://php.net/manual/en/book.v8js.php
    http://pecl.php.net/package/spidermonkey
    http://j4p5.sourceforge.net/

    J'utilise déjà le dernier, pour d'autres projets, car il a l'avantage d'être en pur php.
    En revanche ces moteurs ne font pas également interpréteur html. Je ne peux leur donnée une page HTML avec du javascript, seulement du javascript pur.

    Il me faudrait vraiment un browser en ligne de commande, mais je désespère un peu de le trouver. Je crois que je vais contourner le problème mais cela va être plus difficile.

    Si quelqu'un peut m'offrir un dernier espoir...

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    c'est juste des moteurs javascript donc ça ne marchera pas non plus

    tu dois pourvoir faire ça avec PhantomJS

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 69
    Points : 61
    Points
    61
    Par défaut
    Très prometteur!!!

    J'essaie tout de suite et je vous tiens au courant!

    Un grand merci pour ce lien!

Discussions similaires

  1. Convertir un fichier HTML en fichier PDF en ligne de commande
    Par koKoTis dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 15/06/2009, 23h06
  2. Installation d'un module en ligne de commande sur moteur 9i
    Par Arakil dans le forum Installation
    Réponses: 0
    Dernier message: 10/09/2007, 12h47
  3. [HTML/JavaScript] Rendre visible une ligne d'un tableau
    Par Jibees dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/11/2006, 17h33
  4. Convertir un fichier HTML en fichier CHM en ligne de commande
    Par koKoTis dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 18/11/2006, 13h39

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