Formation référencement

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)

imacros

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)

lancement-imacros

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


26 Commentaires

Commentaire par Olivier - black hat seo

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

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

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

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

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

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

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

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

Dimanche, 29 novembre , 2009 à 21:42

De nada, faut bien faire évoluer le monde ;)

Commentaire par Inglourious seo

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

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

Mercredi, 23 décembre , 2009 à 19:49

bon je test on va voir si j’y arrive…

Commentaire par Bert

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

Mercredi, 6 octobre , 2010 à 15:57

je viens d’adopter imacros sur mon FF, merci pour le tips!

Les commentaires sont fermés pour cet article.



SEO BLACKOUT

Site web dédié aux techniques de référencement et de positionnement de sites web sur Google.

Certaines parties du site sont en accès restreint, ces espaces sont réservés à la SEO Black Hat Team.


Don't Be Evil !