J'ai besoin d'aller chercher un certain résultat sur une page Web, qui utilise du code JavaScript pour générer la pièce, je suis intéressant dans comme suit le résultat de Merci P> P> P> eval () Code> est précieux pour moi, j'écris un script Python, y a-t-il une bibliothèque que je peux utiliser pour exécuter pratiquement cette pièce de code JavaScript et obtenir la sortie? p>
6 Réponses :
PYV8 est un ensemble de fixations pour le moteur JavaScript V8 (Google Chrome) p>
J'adore voir tant de choix, entre Spidermonkey et V8, c'est une question de préférence de Firefox ou de Chrome, merci!
Cela semble être adapté à mon besoin: http://code.google.com/p/python-spidermonkey/ < / p>
J'ai également trouvé un outil de ligne de commande très simple intégré sur Mac OS appelé JRunScript, cela fonctionne hors de la boîte.
Vous pouvez utiliser PYQT avec le module WebKit :) Il dispose de JS Moteur et peut évaluer JS dans le contexte d'un document HTML (x). P>
Lequel BTW utilise Squirrelfish (extrême) de Safari / WebKit sur des plates-formes prises en charge.
Oh, et vous pouvez également utiliser qscript, ce qui est plus efficace, car il n'a pas le DOM ou le rendu pour s'en soucier. (Utilise aussi l'écurie)
Utilisez un Binding SpiderMonkey
from spidermonkey import Runtime rt = Runtime() cx = rt.new_context() result = cx.eval_script(whatyoupostedabove)
Ce projet semble être mort pendant longtemps et ne fonctionnera pas sur le léopard des neiges
J'utilise la version rubis sur Linux et c'est aussi des morts. Mais ça marche. Le plus gros problème sur Ruby n'est pas les liaisons eux-mêmes mais pour obtenir la bonne Spidermonkey (ne fonctionnait pas avec 1.9 par exemple).
On dirait qu'il y a une continuation chez github.com/davisp/python-spidermonkey mais il a aussi Pas été mis à jour en deux ans à ce stade.
Cette bibliothèque est obsolète maintenant.
Je suppose que vous avez résolu le problème maintenant, mais je voulais partager une autre option (à mon avis une option beaucoup plus viable). Lorsque vous souhaitez évaluer une fonction jape-connénaire - JavaScript, il peut être plus facile d'implémenter cette fonction dans Python plutôt que de tirer dans un énorme outil construit pour analyser et exécuter tout JavaScript imaginable dans le monde.
Je suggère donc d'écrire une version Python de la fonction JavaScript Descacker et la plupart sont résolues. Je fais en fait cela et voici un exemple. La fonction int2base code> est la mise en œuvre de Alex Martelli qui peut être trouvée ici . P> 'var len=17;var pic=["/Files/Images/54/40769/imanhua_001_140429664.png","/Files/Images/54/40769/imanhua_002_140430070.png","/Files/Images/54/40769/imanhua_003_140430117.png","/Files/Images/54/40769/imanhua_004_140430179.png","/Files/Images/54/40769/imanhua_005_140430179.png","/Files/Images/54/40769/imanhua_006_140430226.png","/Files/Images/54/40769/imanhua_007_140430226.png","/Files/Images/54/40769/imanhua_008_140430242.png","/Files/Images/54/40769/imanhua_009_140430242.png","/Files/Images/54/40769/imanhua_010_140430289.png","/Files/Images/54/40769/imanhua_011_140430367.png","/Files/Images/54/40769/imanhua_012_140430367.png","/Files/Images/54/40769/imanhua_013_140430382.png","/Files/Images/54/40769/imanhua_014_140430382.png","/Files/Images/54/40769/imanhua_015_140430414.png","/Files/Images/54/40769/imanhua_016_140430414.png","/Files/Images/54/40769/imanhua_017_140430429.png"];var sid=40769;'
Lors de l'importation de module Javacript n'est pas option, j'utilise cette
var len=17;var pic=["/Files/Images/54/40769/imanhua_001_140429664.png","/Files/Images/54/40769/imanhua_002_140430070.png","/Files/Images/54/40769/imanhua_003_140430117.png","/Files/Images/54/40769/imanhua_004_140430179.png","/Files/Images/54/40769/imanhua_005_140430179.png","/Files/Images/54/40769/imanhua_006_140430226.png","/Files/Images/54/40769/imanhua_007_140430226.png","/Files/Images/54/40769/imanhua_008_140430242.png","/Files/Images/54/40769/imanhua_009_140430242.png","/Files/Images/54/40769/imanhua_010_140430289.png","/Files/Images/54/40769/imanhua_011_140430367.png","/Files/Images/54/40769/imanhua_012_140430367.png","/Files/Images/54/40769/imanhua_013_140430382.png","/Files/Images/54/40769/imanhua_014_140430382.png","/Files/Images/54/40769/imanhua_015_140430414.png","/Files/Images/54/40769/imanhua_016_140430414.png","/Files/Images/54/40769/imanhua_017_140430429.png"];var sid=40769;