|
TUTORIEL/PRATIQUE
Développer un agent intelligent en RubyQui n'a pas un jour eu besoin d'un robot effectuant une action répétitive sur le Web. Une bibliothèque Ruby permet d'effectuer le cheminent que ferait un visiteur humain sur un site. Publié le 04/02/2009
Qui n'a pas un jour eu besoin d'un robot effectuant une action répétitive sur un site Web. C'est ce que nous allons réaliser sous la forme d'un simple script Ruby. Pièces détachées Pour construire notre robot nous avons besoin des ces divers éléments : Ruby Assemblage Nous allons étudier un exemple fourni dans la documentation de Mechanize : celui qui permet d'envoyer automatiquement une image sur le site Flickr.
Rien qu'en lisant le code on arrive déjà à comprendre le fonctionnement général de cet exemple. On retrouve les classiques inclusions de bibliothèque et initialisations d'objets au debut du script. Mechanize permet d'effectuer toutes les actions que ferrait un visiteur humain sur une page web. Notre robot commence donc par ouvrir la page de connexion de Flicker en utilisant le fonction get. Puis il trouve le formulaire avec forms.name('nom_du_formulaire').first et remplis chaque champs : la fonction précédente nous a retourné un objet initialisé avec tous les champs du formulaire, on peut y accéder directement. Il ne nous reste plus qu'a soumettre ce formulaire, c'est ce que fait la méthode submit, ça reviendrait à cliquer sur le bouton Get in there si on était un vrai visiteur en chair et en os.
Voila, on est connecté, pour transférer une image il faut simuler un clic sur le lien texte Upload, c'est ce que fait le morceau de script qui suit (Le agent.clic ...) et remplir le nouveau formulaire, celui du transfert. On notera la fonction file_uploads qui facilite bien les choses... Vous avez vu, c'est vraiment très simple. Il ne vous reste plus qu'a créer votre propre script pour automatiser vos tâches de navigation qui seraient un peut trop rébarbatives. Vous pouvez vous en servir pour exemple mettre à jour un site de façon régulière en plaçant votre script dans une tâche cron. Contenu proposé sous licence Creative Commons par Stéphane Brun Autour du même sujet
Pagination des commentaires en Ajax - Pagination des commentaires en Ajax - DÉVELOPPEURS > Client Web
|


Par Natacha Pickaert, (Sogeti France) Lire

Par Romain Guefveneu, (Netapsys) Lire