Je vois fleurir des scripts pour aller faire des choses sur une page web, utilisant des libs plus ou moins efficace, parce que n'utilisant pas des "vrais" navigateurs. Par exemple, la page récupérée par mechanize n'est pas "vivante": le javascript n'est pas exécuté, et quand on voit que de plus en plus d'application génère du HTML à la volée : on ne peut pas faire grand chose sur ladite page web si le JS n'est pas executé. D'où d'ailleurs l'utilisation de iMacro pour certaines choses ici, infaisable avec mechanize si j'ai bien compris.
Alors Messieurs Dames, sachez qu'il existe des navigateurs "scriptables", c'est à dire que ce sont des navigateurs pilotables par un script. Et par navigateur, j'entends des vrais navigateurs, avec un vrai moteur de rendu HTML, un vrai moteur JS pour exécuter le js de la page etc. Avec ce genre d'outils, le code de la page web va donc s’exécuter pour de vrai.
Ainsi donc, vous écrivez un script (en JS), qui va dire au navigateur, "ouvre cette page", "click ici", "donne moi le contenu là" etc.. Et le navigateur va faire ce qu'on vous demande. Comme Mechanize, mais en vrai.
Le plus connu : PhantomJS, repose sur Webkit, le moteur de Safari et anciennement Chrome
Le challenger : SlimerJS, repose sur Gecko, le moteur de Firefox.
Le petit dernier : TrifleJS, repose sur Trident, le moteur de IE (encore en plein developpement)
sachant qu'ils ont à peu près la même API...
Et avec le framework CasperJS, l'API est encore plus simple à utiliser. (et "accessoirement", il sert beaucoup à réaliser des tests fonctionnels, en remplacement de Selenium et autres).
PS: ce commentaire est une pub déguisée, écrit par l'auteur de l'un de ces navigateurs ;-)
PS2: désolé :-)
# Outils mieux adaptés ?
Posté par Laurent J (site web personnel, Mastodon) . En réponse au journal HowTo: suppression de compte FB. Évalué à 6.
Hello,
Je vois fleurir des scripts pour aller faire des choses sur une page web, utilisant des libs plus ou moins efficace, parce que n'utilisant pas des "vrais" navigateurs. Par exemple, la page récupérée par mechanize n'est pas "vivante": le javascript n'est pas exécuté, et quand on voit que de plus en plus d'application génère du HTML à la volée : on ne peut pas faire grand chose sur ladite page web si le JS n'est pas executé. D'où d'ailleurs l'utilisation de iMacro pour certaines choses ici, infaisable avec mechanize si j'ai bien compris.
Alors Messieurs Dames, sachez qu'il existe des navigateurs "scriptables", c'est à dire que ce sont des navigateurs pilotables par un script. Et par navigateur, j'entends des vrais navigateurs, avec un vrai moteur de rendu HTML, un vrai moteur JS pour exécuter le js de la page etc. Avec ce genre d'outils, le code de la page web va donc s’exécuter pour de vrai.
Ainsi donc, vous écrivez un script (en JS), qui va dire au navigateur, "ouvre cette page", "click ici", "donne moi le contenu là" etc.. Et le navigateur va faire ce qu'on vous demande. Comme Mechanize, mais en vrai.
sachant qu'ils ont à peu près la même API...
Et avec le framework CasperJS, l'API est encore plus simple à utiliser. (et "accessoirement", il sert beaucoup à réaliser des tests fonctionnels, en remplacement de Selenium et autres).
PS: ce commentaire est une pub déguisée, écrit par l'auteur de l'un de ces navigateurs ;-)
PS2: désolé :-)