Utilisation de iMacros pour la soumission automatique de formulaire
Ecrit par lemoussel le Dimanche 22 novembre 2009 à 11:30 - Catégorie Outils référencement
Après avoir vu comment simplifier la soumission manuelle dans les annuaires nous allons, dans cet article, détailler une méthode permettant d’automatiser la soumission de formulaire.
Pour ce faire, il vous faut le plugin nommé « iMacros » qui est un utilitaire permettant d’automatiser des tâches sur votre navigateur WEB en enregistrant les différentes manipulations sous forme de scripts. Entre autre il permet de compléter des formulaires, de téléverser des textes, d’importer ou d’exporter des données à partir/vers des fichiers CSV et XML, de chercher/extraire des données (web scraping).
Bref tout ce que vous faites avec votre navigateur WEB, iMacros peut l’automatiser !
iMacros pour Firefox est disponible en téléchargement sur le site addons de mozilla : https://addons.mozilla.org/fr/firefox/addon/3863
Une fois installé, une icône iMacros est directement accessible dans la barre latéral de FireFox (icône entourée en rouge dans l’image ci-dessous)
Et voici le formulaire, sauvegardé sous le nom TestForm.php, dont nous allons nous servir pour les tests.
1 2 3 4 5 6 7 | <form id="commentform" action="TestForm.php" enctype="application/x-www-form-urlencoded" method="post"> <input id="author" name="auteur" type="text" tabindex="1" /> <label for="author"><small>Nom (obligatoire)</small></label> <input id="email" name="mail" size="25" type="text" tabindex="2" /> <label for="email"><small>Email <small>(sera invisible) </small> (obligatoire)</small></label> <input id="url" name="adresse_web" size="30" type="text" tabindex="3" /> <label for="url"><small>Site Web</small></label> <textarea id="comment" cols="50" rows="10" name="commentaire"></textarea> <input id="submit" name="submit" type="submit" value="Ajouter Commentaire" tabindex="5" /> </form> |
Maintenant, il suffit d’appeler la page de formulaire, d’afficher iMacros (étape 1) et de commencer l’enregistrement (étape 2)

En appuyant sur le bouton Enregistrer et en effectuant votre saisie vous remarquerez que des lignes de code s’écrivent dans la fenêtre de gauche. C’est le code source iMacros. Ce code source est stocké dans la macro portant le nom #current.iim. L’enregistrement se termine en cliquant sur le bouton Arrêter (avant d’arrêter, n’oubliez de valider le formulaire en appuyant sur le bouton « Ajouter commentaire »).
On obtient le code iMacros suivant :
VERSION BUILD=6240709 RECORDER=FX TAB T=1 URL GOTO=http://localhost/seo/TestForm.php TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:author CONTENT=lemoussel TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:email CONTENT=test@hotmail.com TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:url CONTENT=http://www.seoblackout.com/ TAG POS=1 TYPE=TEXTAREA ATTR=ID:comment CONTENT=Textedecommentaire TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:commentform ATTR=ID:submit
Bravo !, vous avez construit votre première macro Imacros
Vous pouvez la rejouer à volonté (Onglet Jouer).
Maintenant nous allons voir comment en PHP, via un modèle (template), il est possible d’automatiser la saisie et la soumission.
Pour créer le modèle, il suffit de reprendre le script iMacros ci-dessus, en l’adaptant de la manière suivante et de le sauvegarder sous le nom “TemplateForm.iim”.
VERSION BUILD=6240709 RECORDER=FX TAB T=1 URL GOTO=http://localhost/seo/TestForm.php TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:author CONTENT=#Auteur# TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:email CONTENT=#Email# TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:url CONTENT=#URL# TAG POS=1 TYPE=TEXTAREA ATTR=ID:comment CONTENT=#Commentaire# TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:commentform ATTR=ID:submit
Reste à réaliser un bout de code PHP qui remplacera toutes les valeurs entre les # par vos données (par exemple issue d’une base de données).
Ce qui nous donne le code PHP suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php // Recuperation des donnees a renseigner dans le formulaire $Auteur = str_replace(' ', '<SP>', htmlentities('SEO BlackOut')); $Email = 'test@hotmail.com'; $URL = 'http://www.seoblackout.com/'; $Commentaire = str_replace(' ', '<SP>', htmlentities('Le site de référence sur les techniques SEO')); // Creation du script iMacro $macroIm = file_get_contents('TemplateForm.iim'); $macroIm = str_replace('#Auteur#', $Auteur, $macroIm); $macroIm = str_replace('#Email#', $Email, $macroIm); $macroIm = str_replace('#URL#', $URL, $macroIm); $macroIm = str_replace('#Commentaire#', $Commentaire, $macroIm); $macroIm = file_put_contents('FormMacroIm.iim', $macroIm); ?> |
Une fois le script exécuté, il suffit de copier le fichier généré « FormMacroIm.iim » dans le dossier des macros IMacros.
Et voici un exemple d’exécution de cette macro sous Windows :
Rem : Lancement de FF avec l'URL du formulaire à compléter
start /B firefox http://localhost/seo/TestForm.php
Rem : Une petite pause
sleep 15
Rem : Lancement de la macro FormMacroIm.iim
start /B firefox http://run.imacros.net/?m=FormMacroIm.iim
Sources :
Et comme Tiger me donne l’opportunité de mettre un lien et bien je vais en profiter pour vous indiquer d’aller voir l’article Application de gestion de base de données MySQL dans lequel je présente 3 outils d’administration et de gestion de la base de données MySQL.
Articles liés :
Commentaires (26)
Catégorie: Outils référencement
- Ajouter cet article à :
- Del.icio.us -
- Digg
Commentaire par Olivier - black hat seo (12 commentaires)
Dimanche, 22 novembre , 2009 à 13:16
Intéressant Lemoussel !
C’est une bonne alternative pour ceux qui ne veulent pas mettre les mains dans Curl
Commentaire par Canyon
Dimanche, 22 novembre , 2009 à 14:11
Comme d’habitude. Excellent
Commentaire par Blu3sy
Lundi, 23 novembre , 2009 à 12:01
ton script pour modifier les iim est assez ingénieux, en sachant qu’imacros distribue ce genre dans sa version « scripting edition » qui côute quelques centaines de dollars, mais qui a l’avantage d’être très utile, l’intéraction avec les imacos se fait avec des objets, disponible dans plusieurs plate-formes, juste incroyable le nombre de choses qu’on peut faire avec.
et encore merci pour tes articles riches.
Commentaire par classe de decouverte (3 commentaires)
Lundi, 23 novembre , 2009 à 12:26
Lemoussel bonjour et merci pour cet addon. cependant j ai une question, il faut arrêter la macro après avoir validé le formuliare. Mais dans ce cas là, quand on va rejouer la macro sur un autre formulaire, le contenu du commentaire sera identique non? j ai du loupé un truc moi
Commentaire par lemoussel (41 commentaires)
Lundi, 23 novembre , 2009 à 14:32
@classe de decouverte : Tu as tout a fait raison , en l’état si le tu rejoue tu auras le même contenu. D’ou l’idée de modifier le script afin de varier, entre autre, le contenu.
@Olivier – black hat seo : Cela t’évite aussi de mettre les mains dans les expressions régulières
ATTENTION il y a une coquille dans le sourcePHP, pour les lignes 3 & 6 il faut mettre :
$Auteur = str_replace(' ', '<SP>', htmlentities('SEO BlackOut'));
$Commentaire = str_replace(' ', '<SP>', htmlentities('Le site de référence sur les techniques SEO'));
Commentaire par Patrenet (7 commentaires)
Mardi, 24 novembre , 2009 à 13:03
Intéressant, mais j’ai une question :
L’intérêt de la chose est identique à « Autofill Forms » ? Où j’ai pas bien compris ?
Dans ce cas « Autofill Forms » me parait plus pratique non ?
Commentaire par admin
Mardi, 24 novembre , 2009 à 13:11
@Lemoussel, j’ai corrigé la coquille, merci pour cet article
Commentaire par Annuaire blog (1 commentaire)
Jeudi, 26 novembre , 2009 à 16:05
si on fait toujours les mêmes descriptions, c’est la pénalité pour duplicate content !
Les blogs et annuaires regarde de près maintenant ce genre de commentaires. Je vais essayer le truc voir ce que ça donne.
Commentaire par classe de decouverte (3 commentaires)
Vendredi, 27 novembre , 2009 à 11:45
Lemoussel, merci pour la confirmation de mes doutes. dnc en gros c’est une base de travail à bidouiller pour obtenir quelque chose de performant
Commentaire par Serial Blogueur (4 commentaires)
Vendredi, 27 novembre , 2009 à 17:19
Ouch, d’après les ptites vidéos que j’ai pu en voir, ya de quoi faire…
http://forum.iopus.com/_uploads/demos/CSVinput/CSV.input.htm
Rien qu’avec une petite liste de Blog DOfollow
Commentaire par lemoussel (41 commentaires)
Vendredi, 27 novembre , 2009 à 21:48
@classe de decouverte : Ben oui
, je ne vais quand même pas tout vous dire ! Vous avez la base à vous de réfléchir …..
@ Serial Blogueur : Merci du lien, cela va aider nos « amis » a réfléchir …
Commentaire par Serial Blogueur (4 commentaires)
Dimanche, 29 novembre , 2009 à 21:42
De nada, faut bien faire évoluer le monde
Commentaire par Inglourious seo (1 commentaire)
Jeudi, 3 décembre , 2009 à 13:13
Merci,c’est vraiment pratique,un pur gain de temps même,ne reste plus qu’à expliquer aux Indiens comment ca marche
Commentaire par classes découvertes (1 commentaire)
Vendredi, 4 décembre , 2009 à 11:03
@ Lemoussel moi j’aime bien quand ça tombe tout cuit parfois
Commentaire par Black Hat
Lundi, 7 décembre , 2009 à 15:06
J’avais vu l’article il y a une bonne semaine au moins mais étant trop occupé j’ai décidé d’y revenir plus tard.
C’est un outils très puissant qui peut donner plein d’idées ^^
Edit admin : pas de site de q ici, merci !
Commentaire par boris (1 commentaire)
Mercredi, 23 décembre , 2009 à 19:49
bon je test on va voir si j’y arrive…
Commentaire par Bert (5 commentaires)
Mercredi, 30 décembre , 2009 à 21:18
En guise de complément, un outil similaire : http://seleniumhq.org/
Commentaire par stefane_de_loin
Samedi, 9 janvier , 2010 à 5:38
Oulala
Je découvre tout juste l’existence de imacros(500eur) et selenium (opensource)
Je sens qu’on va bien m’amuser ces 5 prochaines années…
a+
Commentaire par stefane_de_loin
Samedi, 9 janvier , 2010 à 6:18
Re coucou
Je me pose quand même une question existentielle
Considérons le scénario suivant
Je voudrais consulter régulièrement cette page pour voir si elle évolue
http://table-id.toile-libre.org/
En d’autres termes, je voudrais récupérer automatiquement, l’ensemble des tableaux que le site met à disposition des internautes. Et ceci régulièrement.
Avec curl et php, pas de problèmes particuliers, a priori.
On charge la page, on preg_match(), on enregistre dans un csv, et on compare avec les csv précededents.
Mais avec imacros ? ou selenium ?
Est ce possible ca ? D’envisager d’écrire une macro qui scrape la liste complète des tableaux mis à disposition, qui peut grossir régulièrement ?
Je me pose la question, pour cet exemple précis, si curl n’est pas ( encore ) plus approprié.
a++
Commentaire par gandolfi
Samedi, 9 janvier , 2010 à 9:57
Vous pensez qu’il vaut mieux travailler la dessus ou sur Curl ?
Pour l’instant je me pose la question pour :
- Scraper les bons annuaires ou blog.
- Récupérer automatiquement les valeurs des champs à compléter dans les annuaires.
Commentaire par stefane_de_loin
Samedi, 9 janvier , 2010 à 20:58
Bon je crois avoir trouvé un début de solution
Je crois que c’est possible directement dans une macro, sans passer par un langage externe
Si j’ai bien compris ceci :
http://forum.iopus.com/_uploads/extraction3-RelativeExtraction.htm
J’ai regardé selenium, il me semble que ca n’est pas un soft qui permette facilement de scraper / extraire des données.
Je n’ai pas trouvé d’equivalent freeware / opensource de imacros
cordialement,
Commentaire par stefane_de_loin
Dimanche, 10 janvier , 2010 à 6:22
J’ai passé ma nuit à chercher sur le net des forums de discussions EN FRANCAIS sur iMacros.
Sauf erreur de ma part, il n’en existe aucun.
J’en ai donc crée un pour la communauté francophone.
J’espère qu’on sera nombreux à terme à s’entraider autour de iMacros.
http://imacros.forum-libre.info/index.php
Commentaire par stefane_de_loin
Mardi, 12 janvier , 2010 à 13:37
Considérons le scénario suivant
Je voudrais consulter régulièrement cette page pour voir si elle évolue
http://table-id.toile-libre.org/
Est ce possible d’écrire une macro qui scrape la liste complète des tableaux mis à disposition, qui peut grossir régulièrement ?
REPONSE ( macros + videos ) ici -> http://imacros.forum-libre.info/viewtopic.php?pid=7#p7
a++
Commentaire par sarah
Vendredi, 27 août , 2010 à 19:05
Jaarive pas a avoir le petit truc qui est entouré en rouge dans ma barre d’outil !
Commentaire par stefane_de_loin
Dimanche, 29 août , 2010 à 2:02
Le forum francais pour imacros a changé d’adresse.
Il est ici : http://imacros.asrun.eu/
Commentaire par blog bretagne (1 commentaire)
Mercredi, 6 octobre , 2010 à 15:57
je viens d’adopter imacros sur mon FF, merci pour le tips!















