Tutoriel iMacros et Exemples de macros


Cet article t'intéressera si:
- tu souhaites simplement gagner du temps en automatisant des opérations que tu répètes quotidiennement,
- si tu es SEO et que tu souhaites automatiser des flux, poster plus rapidement, créer des backlinks ou rendre ta LinkWheel plus puissante,
- si "Bookmarking Demon", "SenukeX", "Scrapebox" et autres softwares de BH te sont familiers et que tu en as marre d'être limité par des logiciels inventés par des américains pour des américains...
- si tu es bidouilleur, patient et fan de la solution "sur mesure" pour ta stratégie SEO!

Pour les fainéants qui n'ont pas envie de tout lire, 2 vidéos pratiques sont disponibles à la fin de l'article.

Je n'écris pas cet article pour te copier-coller toutes les macros que j'ai mis des jours/semaines à créer mais plutot pour te sensibiliser sur les potentialités d'iMacros...

Qu'est-ce que iMacros?

iMacros te permet d'enregistrer n'importe quelle opération à partir d'un navigateur et de la répéter en boucle. iMacros existe en version browser et en version plugin sur Firefox, Chrome et IE. Personnellement j'utilise le plugin Firefox qui me semble le plus stable aujourd'hui pour cette utilisation.

Quelques exemples simples ou complexes de macros:
- remplir des formulaires automatiquement,
- extraire une liste de prix d'un tableau dans un fichier .csv,
- aimer les photos de sa petite copine sur Facebook sans les regarder ;-)
- se connecter à toutes ses webmails en un clic,
- créer des comptes sur n'importe quel site, webmail ou plateforme de blog...

Quelques notions essentielles pour utiliser iMacros:

Des commandes importantes:

  • CLEAR: pour effacer le cache et tous les cookies.
  • CLICK: "Clique" sur l'élément spécifié aux coordonnées X / Y. exemple:
    CLICK X=128 Y=344 CONTENT=Cliquez<SP>ici<SP>
  • EXTRACT: Extrait des données pour les exporter dans un fichier CSV par exemple ou pour les réutiliser plus tard dans la macro.
  • ONDOWNLOAD: Pour télécharger un fichier. Exemple:
    ONDOWNLOAD FOLDER=C:\images\ FILE=image.jpg
  • PROXY: Se connecter à un proxy pour exécuter la macro.
  • SAVEAS: Enregistre les informations dans un fichier. Vous pouvez sauvegarder différents types de fichiers:
    CPL: la page web complète (images et fichiers séparés) / MHT: la page web entière avec les images et fichiers dans un dossier unique) / HTM: La page Web sans image. / TXT: Seulement la version texte est sauvegardée. / EXTRACT: la valeur est sauvegardée dans un fichier CSV / BMP et PNG: screenshot de la page.
    Exemple:
    SAVEAS TYPE=EXTRACT FOLDER=C:\iMacros\Datasources\ FILE=mon-output.csv
  • TAB: Choisissez quel onglet utiliser. Si vous souhaitez retourner sur l'onglet 1 à partir de l'onglet 3, vous pourrez l'écrire de deux façons:
    Si vous souhaitez fermer le TAB 3 puis le TAB 2:
    TAB CLOSE
    TAB CLOSE

    ou alors si vous voulez tout laisser ouvert:
    TAB T=1
    Vous pouvez aussi passer sur le Tab 1 et fermer les autres:
    TAB T=1
    TAB CLOSEALLOTHERS

    Puis en ouvrir un nouveau:
    TAB OPEN
  • TAG: La commande TAG vous permet de sélectionner des éléments sur la page.
    Si vous souhaitez écrire votre nom dans la case NOM d'un formulaire dont le code HTML est:
    <input type="nom1" class="text" size="30" value="" id="nom3" name="nom2">
    Vous pouvez y insérer du texte en écrivant:
    TAG POS=1 TYPE=INPUT:nom1 FORM=NAME:nom2 ATTR=ID:nom3 CONTENT=Votre<SP>nom
    Si vous souhaitez cliquer sur un lien précis dont le code est:
    <a href="http://www.domaine.com/param?q=456456&lang=FR">LIEN</a>
    TAG POS=1 TYPE=A ATTR=HREF=http://www.domaine.com/param?q=*&lang=FR&&TXT:LIEN
    (Nous avons remplacé le paramètre q=456456 par q=* car 456456 est un paramètre qui n'est pas fixe et il devrait changer)
  • WAIT: Pour faire des pauses. Cela est très utile pour laisser des temps d'attente et laisser le temps aux pages de se charger. Vous devez écrire: WAIT SECONDS=10 (pour attendre 10 secondes par exemple)

Des variables importantes:
  • !DATASOURCE: Indique le nom et l'emplacement d'un fichier pour l'importation de données avec la macro. Par exemple:
    SET !DATASOURCE profil.csv
  • !DATASOURCE_COLUMNS: Indique le nombre de colonnes dans l'entrée datasource.
  • !DATASOURCE_LINE: Indique la ligne dans la source de données qui est utilisée pour la saisie. Si vous souhaitez importer des contacts à partir d'un fichier .csv.
  • !ERRORIGNORE: Permet d'ignorer ou pas les erreurs. SET !ERRORIGNORE YES fera continuer même si une ou plusieurs commandes échouent.
  • !EXTRACT: Permet d'extraire des éléments. Pour extraire un élément, il suffit d'écrire ceci par exemple: TAG POS=1 TYPE=TD ATTR=* EXTRACT=TXT
  • !LOOP: Permet de compter le nombre de boucle et donc de commencer à partir d'une certaine ligne. Par exemple si vous souhaitez sauter les 5 premières lignes: SET !LOOP 6.
  • !TIMEOUT: Définit la valeur de temporisation en secondes, c'est-à-dire la durée que vous laissez à une commande pour être exécutée. Par défaut cette valeur est de 60 secondes.
    Si vous souhaitez allonger ou raccourcir ce temps il suffit de l'écrire de la manière suivante: SET !TIMEOUT 181 (pour 181 secondes par exemple)
  • !TIMEOUT_STEP: Parfois, le texte ou certaines images n'apparaissent pas immédiatement après une page soit chargée. Avec cette variable, vous forcerez iMacros à attendre jusqu'à ce que ce texte précis ou cette image précise apparaisse.
    Vous devrez l'écrire de cette façon:
    SET !TIMEOUT_STEP 100
    TAG POS=1 TYPE=* ATTR=TXT:Exemple<SP>de<SP>texte
  • !URLCURRENT: Contient l'URL de la page sur laquelle vous vous trouvez.
  • !VAR0, !VAR1...:Ceci est une variable très pratique. Elle définit la valeur d'une variable que vous déterminez. Ces commandes sont prédéfinies, vous devez les écrire comme ceci: !SET VAR1 ou !SET VAR3...
    Imaginons que vous souhaitiez prendre l'URL de la page actuelle, ouvrir un nouvel onglet et coller l'URL de l'onglet 1 sur l'onglet 2:
    SET !VAR1 {{!URLCURRENT}}
    TAB OPEN
    TAB T=2
    URL GOTO={{!VAR1}}


    Vous pouvez faire des choses plus complexes telles que:
    'On détermine une valeur fixe !VAR1
    SET !VAR1 euros
    ' On extrait le prix d'un produit dans la 5ème cellule d'une table
    TAG POS=5 TYPE=TD ATTR=* EXTRACT=TXT
    ' On l'appelle VAR2 et on l'extrait
    SET !VAR2 {{!EXTRACT}}
    'On insère le prix et l'unité dans un champ
    TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:* ATTR=* CONTENT={{!VAR1}}{{!VAR2}}

Pour la liste complète des commandes et des variables, tu les retrouveras sur le wiki d'imacros.

Comment créer une Macro?

La première chose à faire est de décomposer votre objectif en plusieurs étapes.
Par exemple:
= Objectif: créer trois comptes Digg
- Etape 1: créer une adresse email sur n'importe quel webmail en important des données (nom, prénom, user, mot de passe...) d'un fichier .csv
- Etape 2: Création du compte Digg et déconnexion
- Etape 3: Retour sur le webmail pour cliquer sur l'email de confirmation et déconnexion du webmail
- Etape 4: Répéter l'opération

Une fois que vous avez décomposez votre Macro, vous allez commencer par coder l'étape 1, puis les suivantes.
Pour coder une macro rapidement et efficacement, je vous conseille de jeter un oeil au code et de rafraichir la page plusieurs fois pour voir si des attributs changent.
Ensuite tu peux te servir du mode enregistrement d'iMacros pour avoir une bonne base que tu modifieras et optimiseras ensuite.
Puis une fois les étapes automatisées tu assembleras le tout.

2 exemples concrets développés pour des projets personnels:

 
1) Création Automatique d'adresses email "Yahoo.fr"


Résumé:
- auto-compilation du formulaire d'inscription
- decrypter le captcha
- extraction des données
- exportation des données dur un fichier csv
- déconnexion

 
2) Création Automatique de Blogs Wordpress


Résumé:
- compilation du formulaire de création d'un blog wordpress (importation des données à partir d'un fichier .csv)
- extraction des données essentielles pour pouvoir se connecter au blog sur un fichier csv (url du blog, user, mot de passe et email)
- déconnexion du blog wordpress
- vérifier et activer les blogs en cliquant sur des emails appartenant à des adresses emails créées grâce à une macro lancée précédemment,
- effacer cache et cookie
- changement de proxy
- et je répète ça en boucle...

J'espère que cet article vous sera utile.

N'hésitez pas à me contacter si vous avez besoin de macros sur mesure.

17 commentaires

  1. Merci pour cet excellent post! Je connaissais iMacros mais je n’avais jamais exploité son potentiel comme tu le fais dans tes vidéos! C’est incroyable! Je n’ai pas les compétences pour créer ce type de macros et pas forcément le temps d’apprendre…
    Pourrais-tu me fournir tes macros et m’expliquer comment les utiliser? Cela serait vraiment trop genial!

    Reply
    • Bonjour Laurent, merci pour ton commentaire. Je ne fournis pas mes macros gratuitement, cela serait trop facile et je t’assure que les macros ci-dessus sont loin d’etre très compliquées. Un petit tour sur le wiki d’imacros et le tour sera joué ;-) Par contre si tu n’as pas le temps ni l’envie de le faire, je t’offre mes services pour créer des macros sur mesure et pour tes besoins spécifiques.

      Reply
  2. Merci pour cet article, mais tu penses que tu mettras d’autres tutos plus approfondis ? C’est bien fait, ça donne envie d’exploiter Imacro, mais ça n’explique pas vraiment le fonctionnement. Peu de gens partagent leurs macros j’imagine que tu fais pas exception à cette règle :) Je vois aussi que tu proposes des macros sur mesure combien coute ta prestation ?

    Merci encore pour ces vidéos

    Reply
    • Salut Seosphere, je ferai sans doute quelques tutos plus orientés « experts » sur le couplage de javascripts et d’iMacros par exemple mais quand j’aurai le temps… Sinon en voyant tes tweets j’ai cru comprendre que tu réalisais aussi des macros pour tes projets perso. J’imagine que tu souhaites connaitre mes prix par curiosité et non en tant que « prospect ». On va dire que le prix d’une prix macro est très variable et dépend essentiellement du temps que je passe à les faire.

      Reply
  3. Une petite question, elles tiennent tes adresses yahoo créées automatiquement ?

    Reply
    • Yahoo est très attentif et sans une bonne gestion des proxy, il peut t’empêcher de créer les adresses à partir d’une certaine boucle. Perso je n’ai pas eu besoin de créer 10 000 adresses Yahoo.fr mais toutes les miennes sont encore valides.

      Reply
  4. Dis donc ça c’est du tuto iMacros! Je comptais justement m’y mettre sérieusement :) Je bookmark et j’étudie ça de près début 2012, merci pour ce tutoriel très complet !

    Reply
    • Merci Maximilien.

      Reply
  5. Enorme! En gros ca te permet de faire le boulot que font mes 15 collègues manuellement si j’ai bien ccompris… Wahou!

    Reply
  6. Merci pour ce tuto! Le meilleur en francais! +1 pour Léonard

    Reply
  7. Merci pour le tuto Leonard! alors là je vois de quoi imacros est capable de faire. par contre j’ai une petite question? j’aimerais créer une macro qui envoi un email avec des pièces jointes. t’aurais pas quelques pistes à me donner. Merci d’avance.

    Reply
    • La pièce jointe ou les pièces-jointes seront identiques pour tous les destinataires? J’ai une idée pour ta macro mais pourquoi ne pas utiliser une plateforme d’email marketing professionnelle, certaines sont gratuites et te permettent d’envoyer jusqu’à 12.000 envois par mois… Perso, j’utilise Mailchimp que je trouve puissante et ergonomique.

      Reply
  8. merci , je vois ce que tu veux dire, mais en gros moi ce que j’ai envi de faire c’est :
    Prenons le cas de gmail:
    la macro se connecte, clique sur envoi d’un nouveau message, rempli le champ du destinataire, puis celui de l’objet du mail, puis clique sur joindre des fichiers et remplis même 3 pièces jointes, et saisie un message dans le corps du mail puis la macro click sur envoyé et se déconnecte. pour le moment j’arrive à faire l’envoi d’email sans pièces jointes, et même pour les pièces jointes j’arrive a le faire manuellement mais mon souci c’est de préciser les chemins à la macro pour n’est pas être obligé à cliquer chaque fois sur les fichiers.

    Reply
    • Tu as essayé d’ajouter une colonne dans ton document DATASOURCE avec la source de ton/tes fichier(s) comme ceci: C:\Documents\Fichier.doc ? Je n’avais pas essayé sur Gmail mais sur hotmail et cela marchait. La partie d’importation du fichier de la macro était à peu près ça:

      TAG POS=1 TYPE=SPAN ATTR=TXT:Piècesjointes
      FRAME F=6
      TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:AttachmentUploader.aspx?_ec=1 ATTR=ID:fileInput CONTENT=C:\DocumentsandSettings\User\Desktop\image.png (ou tu peux appeler la colonne où tu auras inséré la source de ton fichier bien sûre.)
      WAIT SECONDS=8

      Voilà..

      Reply
  9. Merci , déjà j’aimerais savoir c’est quelle version de imacros que tu utilise? car moi j’utilise la version d’évaluation( imacros Browser Version 7.51.1734) et le mode de click que j’utilise est auto! auparavant c’est avec gmail que je testais mais voila ce que je viens d’obtenir avec hotmail:
    Error -1300: Cannot find HTML element of type « SPAN: » with attribute(s) « CLASS:Label ».. Line 10: TAG POS=1 TYPE=SPAN FORM=ID:MasterForm ATTR=CLASS:Label.
    J’ai l’impression que de nombreux sites utilisent des valeurs dynamiques pour les attributs id de l’élément qui peut les rendre difficiles à localiser. et en suite chez moi la partie d’importation de fichier est comme ça :
    FRAME F=7
    TAG POS=1 TYPE=INPUT:FILE FORM=ID:AttachmentForm ATTR=ID:fileInput CONTENT=C:\fakepath\delivery.iim
    TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:AttachmentForm ATTR=ID:upload&&VALUE:Joindre

    ce que je comprend pas c’est au niveau de CONTENT: pourquoi c’est pas le bon chemin ? normalement mon fichier se localise dans C:\Documents and Settings\user\Mes documents\iMacros\Macros
    Merci d’avance

    Reply
    • J’utilise le plugin Firefox et le browser iMacros si besoin. Chez moi, la macro fonctionne.
      Tu dois avoir un soucis au niveau de ton fichier !DATASOURCE… As-tu bien mis à la place de l’espace de « Mes documents »?
      Essaie de mettre ATTR=ID:fileInput CONTENT=C:\Documents and Settings\user\Mesdocuments\iMacros\Macros à la place de ATTR=ID:fileInput CONTENT=C:\fakepath\delivery.iim
      Si tu n’y arrives pas essaie de m’envoyer ton fichier.iim à info (at) leonard-rodriguez.com, j’y jetterai un oeil.

      Reply

Commentez cet article:

Derniers Articles

Devenez Fan de Léonard Rodriguez sur Facebook
Retrouvez moi sur Google
Suivez-moi sur Twitter
COntactez-moi