Comment faire pour exécuter PhantomJS comme un serveur et d'appel à distance?
C'est probablement une question très simple. Je voudrais lancer un navigateur sans PhantomJS
comme un serveur, mais pas comme un outil de ligne de commande.
Une fois qu'il est en cours d'exécution je voudrais lancer un appel à distance via HTTP. La seule chose dont j'ai besoin c'est d'envoyer une URL et obtenir la sortie HTML. J'en ai besoin pour générer le code HTML pour une application AJAX pour faire des recherches.
Est-il possible ?
OriginalL'auteur Michael | 2015-06-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez exécuter PhantomJS parfaitement bien comme un serveur web, car il a la Web Module De Serveur. Les exemples dossier contient par exemple un server.js exemple. Cela va à l'autonome, sans dépendances (sans nœud).
Si vous souhaitez exécuter par le biais de PhantomJS node.js ensuite, c'est également facilement réalisable à l'aide de la phantomjs-nœud qui est un PhantomJS pont pour le nœud.
Notes
Vous pouvez utiliser librement ce qu'est, aussi longtemps que vous n'avez pas plusieurs demandes en même temps. Si vous le faites, alors vous devez synchroniser les demandes (car il y a un seul
page
objet) ou vous avez besoin de créer un nouveaupage
objet sur chaque demande etclose()
de nouveau lorsque vous avez terminé.Excellente réponse, +1 pour un exemple de code complet qui montre exactement comment il ressemble.
OriginalL'auteur Artjom B.
Le plus simple est de faire un script python ou quelque chose de simple pour démarrer le serveur et l'utilisation de python websockets pour communiquer avec elle, à l'aide d'un formulaire web de sortes de requête pour un site web et d'obtenir le code source de la page. Tout d'automatisation qui peut être fait via des tâches cron, ou si vous êtes sur Windows, vous pouvez utiliser la fonction Tâches pour démarrer automatiquement le script python.
phantom
pour chaque demande. J'ai besoin de laphantom
pour s'exécuter sur un serveur. Est-il possible ?Oui. Peut-être que vous n'avez pas travaillé avec PhantomJS avant? PhantomJS est pas un analyseur HTML comme interface htmlunit, mais plutôt une tête basé sur un navigateur à l'aide de Gecko (le backend que Firefox utilise). Le navigateur s'exécute en tant que processus distinct, qui est ensuite contrôlée par une API écrite en Python, Java, C++, etc, qui peut ensuite être facilement transformé en un serveur-côté de la page du navigateur unité de processeur. Ceci peut être contrôlé à distance si vous utilisez WebSocket de la technologie ou de générer une page web qui peut soumettre des demandes dont le code python peut alors exécuter les séparer PhantomJS processus.
Vous avez raison, je n"ai travaillé avec
phantom
encore. Merci encore pour l'explication.OriginalL'auteur Jay Bhagat