OVH Cloud OVH Cloud

Executer javascript avec Perl.

9 réponses
Avatar
Pim
Bonjour à tous,

Mon problème est le suivant.

J'ai un programme qui analyse le contenu de pages html.

En fait c'est un parser et Il utilise UserAgent.pm.

Il doit éxécuter ou interpreter les fonctions Javascript
contenues dans ces pages.

Avez-vous des pistes?

Merçi d'avance.

9 réponses

Avatar
root
On Sat, 13 Sep 2003 13:18:39 +0000, Pim wrote:


Bonjour à tous,

Mon problème est le suivant.

J'ai un programme qui analyse le contenu de pages html.

En fait c'est un parser et Il utilise UserAgent.pm.

Il doit éxécuter ou interpreter les fonctions Javascript
contenues dans ces pages.

Avez-vous des pistes?



Tu dois peut être pouvoir faire ça avec le module JavaScript :
- http://search.cpan.org/author/CLAESJAC/JavaScript-0.52/JavaScript.pod
(qui se base sur la librairie javascript «rhino» de mozilla dispo sur
ftp://ftp.mozilla.org/pub/js)

Pour un exemple d'utilisation, je me rappelle avoir vu ça :
- http://perlmonks.org/index.pl?node_id'7591

Avatar
Pim
Le Sat, 13 Sep 2003 20:06:47 +0200,
root disait ceci :
On Sat, 13 Sep 2003 13:18:39 +0000, Pim wrote:


Bonjour à tous,

Mon problème est le suivant.

J'ai un programme qui analyse le contenu de pages html.
j

En fait c'est un parser et Il utilise UserAgent.pm.

Il doit éxécuter ou interpreter les fonctions Javascript
contenues dans ces pages.

Avez-vous des pistes?



Tu dois peut être pouvoir faire ça avec le module JavaScript :
- http://search.cpan.org/author/CLAESJAC/JavaScript-0.52/JavaScript.pod
(qui se base sur la librairie javascript «rhino» de mozilla dispo sur
ftp://ftp.mozilla.org/pub/js)

Pour un exemple d'utilisation, je me rappelle avoir vu ça :
- http://perlmonks.org/index.pl?node_id'7591


Bon à priori cela correspond à ce que je cherche.
Je verrai mieux aprés avoir digéré une partie mais cela semble OK.

Merçi alors!

__________________

juste une parenthèse :

:-)


Avatar
Pim
Le Sat, 13 Sep 2003 20:06:47 +0200,
root disait ceci :
(qui se base sur la librairie javascript «rhino» de mozilla dispo sur

ftp://ftp.mozilla.org/pub/js


Hou la la .

OUI mais ...

La je ne vois pas lequel prendre.

C'est le rhino ou le libjs-devel?

De plus comment le linker avec perl pour qu'il trouve la librairie
correspondante?

Et mon expérience prouve que (étant sous Debian) je dispose généralement
de tous les paquets dans ma distribution Debian plutôt que d'aller chercher
des trucs sur des sites FTP de plus au format .zip ou rmp j'y crois pas.

J'ai un paquet libjs-devel sous Debian : Ce ce serait pas cela?

Si tu pouvait m'écrairer un peu +.
Merci.



Pour un exemple d'utilisation, je me rappelle avoir vu ça :
- http://perlmonks.org/index.pl?node_id'7591



Avatar
root
On Sun, 14 Sep 2003 13:38:24 +0000, Pim wrote:

Le Sat, 13 Sep 2003 20:06:47 +0200,
root disait ceci :
(qui se base sur la librairie javascript «rhino» de mozilla dispo sur

ftp://ftp.mozilla.org/pub/js


Hou la la .

OUI mais ...

La je ne vois pas lequel prendre.

C'est le rhino ou le libjs-devel?



Heu, oui, ça doit être le `libjs' ... «rhino» semble plutôt être
l'implementation de javascript en Java, excuse moi.

De plus comment le linker avec perl pour qu'il trouve la librairie
correspondante?



Une fois la librairie js installé, il doit suffire de lancer un :
perl -MCPAN -e 'install JavaScript'
pour compiler et installer automatiquement le module.

Et mon expérience prouve que (étant sous Debian) je dispose généralement
de tous les paquets dans ma distribution Debian plutôt que d'aller chercher
des trucs sur des sites FTP de plus au format .zip ou rmp j'y crois pas.

J'ai un paquet libjs-devel sous Debian : Ce ce serait pas cela?



Dans ce cas, peut être qu'il y a déjà un package Perl `JavaScript' pour
Debian ?


Avatar
Pim
Le Sun, 14 Sep 2003 21:55:02 +0200,
root disait ceci :
Heu, oui, ça doit être le `libjs' ... «rhino» semble plutôt être
OK.

l'implementation de javascript en Java,
excuse moi.
Non pas grave.


De plus comment le linker avec perl pour qu'il trouve la librairie
correspondante?



Une fois la librairie js installé, il doit suffire de lancer un :
perl -MCPAN -e 'install JavaScript'
Ah la j'apprend quelque-chôse.


des trucs sur des sites FTP de plus au format .zip ou rmp j'y crois pas.
J'ai un paquet libjs-devel sous Debian : Ce ce serait pas cela?


Dans ce cas, peut être qu'il y a déjà un package Perl `JavaScript' pour
Debian ?


Alors si le nom du fichier module perl est :

Javascript.pm

ou

javascript.pm

ou encore

JavaScript.pm

,

je peut affirmer que non! Yen a pas!


Avatar
Pim
Le Sun, 14 Sep 2003 21:55:02 +0200,
root disait ceci :
perl -MCPAN -e 'install JavaScrip


perl -MCPAN -e 'install JavaScript'
____________________________________
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.u-paris10.fr/perl/CPAN/authors/01mailrc.txt.gz
Going to read yes/sources/authors/01mailrc.txt.gz
Fetching with LWP:
ftp://ftp.u-paris10.fr/perl/CPAN/modules/02packages.details.txt.gz
Going to read yes/sources/modules/02packages.details.txt.gz
Database was generated on Sat, 13 Sep 2003 22:48:42 GMT

There's a new CPAN.pm version (v1.76) available!
[Current version is v1.59_54]
You might want to try
install Bundle::CPAN

moi j'ai /usr/share/perl/5.6.1/CPAN.pm


reload cpan
without quitting the current session.
It should be a seamless upgrade
while we are running...



Fetching with LWP:
ftp://ftp.u-paris10.fr/perl/CPAN/modules/03modlist.data.gz
Going to read
yes/sources/modules/03modlist.data.gz
JavaScript is up to date.
___________________________________
Hein des conneries oui il n'a rien fait ce truc
il y juste importé des fichiers listes.

Ok je vais essayer :
perl -CPAN -e 'install Bundle::CPAN'

puisqu'il semble me propose cette alternative.

Avatar
Pim
Le Sun, 14 Sep 2003 21:55:02 +0200,
root disait ceci :


NON cela ne marche pas :

voici ma config CPAN/Config.pm:

'build_cache' => q[10],
'build_dir' => q[yes/build],
'cache_metadata' => q[1],
'cpan_home' => q[yes],
'dontload_hash' => { },
'ftp' => q[/usr/bin/ftp],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gzip' => q[/bin/gzip],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[yes/sources],
'lynx' => q[/usr/bin/lynx],
'make' => q[/usr/bin/make],
'make_arg' => q[],
'make_install_arg' => q[UNINST=1],
'makepl_arg' => q[],
'ncftp' => q[],
'ncftpget' => q[],
'no_proxy' => q[],
'pager' =>
q[/usr/bin/less],
'prerequisites_policy' =>
q[ask],
'scan_cache' =>
q[atstart],
'shell' =>
q[/bin/bash],
'tar' =>
q[/bin/tar],
'term_is_latin'
=> q[1],
'unzip' =>
q[/usr/bin/unzip],
'urllist' =>
[q[ftp://ftp.u-paris10.fr/perl/CPAN],
q[ftp://ftp.u-paris10.fr/perl/CPAN/],
q[ftp://ftp.oleane.net/pub/mirrors/CPAN/]],
'wait_list'
=>
[q[wait://ls6.informatik.uni-dortmund.de:1404]],
'wget' =>
q[/usr/bin/wget],
};
1;
_________________________

De plus ce programme merdique ne sait même pas gérer ses chemins:

Il me refait les même répertoires à tous les niveau d'arborence pour
me télécharger les mêmes listes que précédemment.

Aucune optimisation!
Encore une application développée à la va vite!

Je passe à autre chôse cela vaut mieux.
Avatar
root
On Sun, 14 Sep 2003 21:25:44 +0000, Pim wrote:

NON cela ne marche pas :

voici ma config CPAN/Config.pm:

[...]

De plus ce programme merdique ne sait même pas gérer ses chemins:

Il me refait les même répertoires à tous les niveau d'arborence pour
me télécharger les mêmes listes que précédemment.

Aucune optimisation!
Encore une application développée à la va vite!



Trop gros ! passera pas ;)

Je passe à autre chôse cela vaut mieux.


Pour info je viens à l'instant d'installer ce module JavaScript sans
problèmes.

Jusqu'a present tu n'as pas donné le moindre message d'erreur sur ce qui
ne marche pas.

Tu lances l'install de JavaScript en root ou en user ? la libjs est bien
installé ? Quel est le message d'erreur exact ?

Le seul message que j'ai c'est `JavaScript is up to date' qui voudrait
dire qu'il est bien installé ... Que donne la commande suivante :

$ perl -MJavaScript -e 'print $JavaScript::VERSION'

Avatar
Pim
Le Mon, 15 Sep 2003 01:30:42 +0200,
root disait ceci :
Trop gros ! passera pas ;)

Je passe à autre chôse cela vaut mieux.


Pour info je viens à l'instant d'installer ce module JavaScript sans
problèmes.

Jusqu'a present tu n'as pas donné le moindre message d'erreur sur ce qui
ne marche pas.


Mais puisque je vous dis que ce programme est un MENTEUR! Il ment comme
il respire vous dis-je.


Tu lances l'install de JavaScript en root ou en user ?


En root pour qu'il puisse installer.

installé ? Quel est le message d'erreur exact ?
Ben c'est cela justement le problème c'est qu'il n'indique pas

d'erreurs.
Le seul message que j'ai c'est `JavaScript is up to date' qui voudrait
dire qu'il est bien installé ... Que donne la commande suivante :
J'étais sur que vous alliez me poser cette question.

$ perl -MJavaScript -e 'print $JavaScript::VERSION'


Voila la réponse:
--------------------------------------

Can't locate auto/JavaScript/autosplit.ix in @INC (@INC contains:
/usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1
/usr/local/lib/site_perl .) at /usr/share/perl/5.6.1/AutoLoader.pm line
147.
at /usr/share/perl5/JavaScript.pm line 188
Can't locate loadable object for module JavaScript in @INC (@INC
contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.6.1
/usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at -e line 0
Compilation failed in require.
BEGIN failed--compilation aborted.

-------------------------------------

Alors qu'est-ce que j'disait? ;-)

Mais c'est normal j'ai regardé ya rien de nouveau dans mes repertoires
de perl.

Mais je suis allé plus loin j'ai essayé d'installer un autre module et
la il m'a dit que md5 n'était pas installé.

Seulement je ne vois pas de quel Md5 il parle :

Est-ce un binaire ? /bin/md5sum est la !
Une librairie?
Une librairie Perl qui fait du md5?

Si je regarde dans mes paquets Debian ya plein de chôses qui concordent
avec Md5.

Mais quant-même 3 questions car j'ai pas tout pigé:

1 ) Quel est le (ou les) nom du fichier module (*.pm) qu'il doit
installer?
2 ) Ou doit-il le mettre?
3 ) Que faut-il de plus pour que ça fonctionne et comment se fait le
liens avec la librairie que l'on doit importer par Ftp?


Je vous remerçie tout de même bien aimablement de votre aide et votre patience.

Si j'arrive à creuser je vous envoie d'autres infos mais pour l'instant
je relaxe un peu.

Encore merci

A+
_______________
Juste une parenthèse

:-)