Пару недель назад открыл для себя новый полезный плагин Firefox, называется он iMacros, а его основная задача — автоматизация рутинных действий при работе в Интернет.
Как оказалось, появился этот плагин довольно давно (судя по истории версий первый релиз был в далёком 2006 году), удивительно, что я не узнал о нём раньше. Сейчас, помимо плагина для Mozilla Firefox, существуют аналогичные расширения для браузеров Internet Explorer и Google Chrome.
С помощью iMacros можно автоматизировать такие действия как: заполнение форм, регистрация на сайтах, сбор и загрузка данных, публикация информации и др.
Я не буду в деталях описывать механизм записи макросов, так как в сети уже есть достаточно много информации по этому вопросу. Если Вас данный плагин тоже заинтересует, можно начать с изучения документации на сайтах wiki.imacros.net и ru.imacros.wikia.com
Теория есть теория, а практические примеры порой помогают куда лучше разобраться в решении поставленных задач. Чтоб закрепить изученный материал написал несколько макросов которыми сегодня и поделюсь.
1) Макрос для автоматического наполнения твиттер аккаунта:
VERSION BUILD=8601111 RECORDER=FX TAB T=1 URL GOTO=https://twitter.com/seogrot CMDLINE !DATASOURCE twitter.csv SET !DATASOURCE_COLUMNS 1 SET !LOOP 1 WAIT SECONDS=2 SET !DATASOURCE_LINE {{!LOOP}} EVENT TYPE=CLICK SELECTOR="#global-new-tweet-button" BUTTON=0 EVENTS TYPE=KEYPRESS SELECTOR="#tweet-box-global" CHARS="{{!COL1}}" EVENT TYPE=CLICK SELECTOR="#global-tweet-dialog-dialog>DIV:nth-of-type(2)>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(2)>DIV:nth-of-type(2)>BUTTON" BUTTON=0 WAIT SECONDS=2 |
Демонстрация работы макроса
2) Макрос для проставления лайков на фотографии ВКонтакте:
VERSION BUILD=8601111 RECORDER=FX SET !ERRORIGNORE YES TAB T=1 URL GOTO=http://vk.com/feed TAG POS=1 TYPE=A ATTR=ID:head_people SET !VAR1 EVAL("Math.floor(Math.random()*20);") EVENT TYPE=CLICK SELECTOR="#results>DIV:nth-of-type({{!VAR1}})>DIV:nth-of-type(2)>DIV>A" BUTTON=0 WAIT SECONDS=3 EVENT TYPE=CLICK SELECTOR="#profile_photo_link>IMG" BUTTON=0 WAIT SECONDS=3 EVENT TYPE=CLICK SELECTOR="#pv_like_icon" BUTTON=0 WAIT SECONDS=3 EVENT TYPE=CLICK SELECTOR="#pv_box>A" BUTTON=0 |
Демонстрация работы макроса
Отдельно стоит отметить, что в iMacros помимо внутренних команд можно использования управляющий JavaScript файл. Соединив два этих инструментария, можно написать практически любого бота.
3) Макрос собирающий ТОП 10 url сайтов из выдачи Google по указанному запросу:
var macros; var macrosrun; var s_n = "\n"; var search = "продвижение+сайтов+Донецк" for (i=1; i<=10; i++) { macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n; macros += "URL GOTO=https://www.google.com.ua/#q="+search+s_n; macros += "TAG POS="+i+" TYPE=CITE ATTR=class:vurls EXTRACT=TXT"+s_n; macros += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=PageUrl.csv"; macrosrun = iimPlay(macros); } |
Демонстрация работы макроса
4) Макрос для сбора и сохранения твитов в файл:
var macros; var macrosrun; var s_n = "\n"; macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n; macros += "URL GOTO=https://twitter.com/BackSpark/followers"+s_n; for (i=1; i<=200; i++) { macros += "TAG POS="+i+" TYPE=STRONG ATTR=CLASS:fullname<SP>js-action-profile-name"+s_n; macros += "TAG POS=20 TYPE=P ATTR=CLASS:js-tweet-text<SP>tweet-text EXTRACT=TXT"+s_n; macros += "TAG POS=12 TYPE=BUTTON ATTR=TXT:Закрыть"+s_n; macros += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=Tweets.csv"; macrosrun = iimPlay(macros); macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n; window.parent.scrollTo(0,50000); } |
Демонстрация работы макроса
5) Макрос для массфолловинга по списку аккаунтов:
var macros; var macrosrun; var s_n = "\n"; macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n; macros += "URL GOTO=https://twitter.com/BackSpark/followers"+s_n; for (i=1; i<=100; i++) { macros += "TAG POS="+i+" TYPE=BUTTON ATTR=TYPE:button&&CLASS:user-actions-follow-button<SP>js-follow-btn<SP>follow-button<SP>btn"+s_n; macros += "REFRESH"; macrosrun = iimPlay(macros); macros = "CODE:SET !EXTRACT_TEST_POPUP NO"+s_n; window.parent.scrollTo(0,50000); } |
Демонстрация работы макроса
Памятка:
Функция iimPlay() – запускает команду макроса или готовый макрос на выполнение;
Команда SET — установка пользовательских переменных в iMacros. Список встроенных переменных iMacros можно посмотреть здесь.
Команда TAG — выполняет действия с заданным HTML элементом. Определить элемент можно путем назначения параметров POS, TYPE, FORM и ATTR. Результатом действий команды можгут быть: переход по ссылке, выбор заданного пункта меню, загрузка файла или изображения, сохранение найденных значений в переменную и т.д.
Команда URL — переход по заданной ссылке в активной вкладке.
Команда EVENT(S) — инициирует событие (клик по элементу, выделение элемента, ввод с клавиатуры и т.п.)
Команда SAVEAS — cохраняет информацию в файл.
Какой интересный плагин =)
Надо будет поиграться с ним.
Здравствуйте. Может Вы мне поможете? Мне нужен скрипт для однокласников, чтобы он выбирал людей которые онлайн, по возрасту, городам, с фото, открывал людей по очереди или вразнобой(не знаю как лучше), ставил оценку. Большое спасибо! Буду очень ждать ответа
Добрый день. В одноклассниках у меня даже аккаунта нет. Мысль была попробовать что-то и под них написать. Но сейчас времени этим заниматься нет.
И мне такой скрипт для одноклассников надо. Только для женщин.
Напишем какой надо, обращайся) Мыло для связи: p2card@mail.ru
Здравствуйте!Подскажите скрипт для фейсбука.для размещения текста в группах.Спасибо.Жду ответ.
Установил Ваш макрос для проставления лайков на фотографии ВКонтакте, но он почему-то очень часто заходит в цикле на одного и того же человека (фотографию) и шарашит по сердечкам то в + то в -, может он где-то кривоват?, а может и подтправить можно?
Значит id юзеров периодически повторяются. Там насколько помню рандомно они генерировались. Нужно додумывать логику работы скрипта. Либо запускать на небольшую группу людей по несколько раз в день. Тогда вероятность повторного попадания на тот же аккаунт существенно уменьшится.
Добрый день! Возможно у кого то есть пример скрипта для сбора мыла из групп фейсбука?Буду очень благодарен:)
По просьбам посетителей написал небольшой скрипт для одноклассников http://seogrot.com/imacros-skript-dlya-odnoklassnikov/
немогу разобраться как поставить задержку времени в макросе
WAIT SECONDS=30 — задержка на 30 секунд.
Как вариант, в настройках ещё можно поставить медленную скорость выполнения скрипта.
Напишите пожалуйста скрипт для Фейсбука. Что бы по группам раскидывать посты и картинки
Здравствуйте. Здорово, что нашла этот сайт — Вы мне очень помогли. Очень нужен скрипт для фейсбука, чтобы по группам текст и фото разбрасывал, а также в контакте тоже по группам расставлял текст. пожалуйста помогите!!!
SET !ERRORIGNORE YES
VERSION BUILD=8601111 RECORDER=FX
TAB T=1
URL GOTO=https://twitter.com/solonets1
CMDLINE ! C:\Users\User\Documents\twitter.csv
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
WAIT SECONDS=2
SET !DATASOURCE_LINE {{!LOOP}}
EVENT TYPE=CLICK SELECTOR=»#global-new-tweet-button» BUTTON=0
EVENTS TYPE=KEYPRESS SELECTOR=»#tweet-box-global» CHARS=»{{!COL1}}»
EVENT TYPE=CLICK SELECTOR=»#global-tweet-dialog-dialog>DIV:nth-of-type(2)>DIV:nth-of-type(2)>FORM>DIV:nth-of-type(2)>DIV:nth-of-type(2)>BUTTON» BUTTON=0
WAIT SECONDS=2
посмотрите пожалуйста — что не так. выскакивает окно, но сообщение не вставляет. Помогите
Добрый день.
хотел бы узнать есть ли возможность у вас заказать написания макроса с управляющей частью на Яве.
Конечно не бесплатно. Если да то ответьте на мою почту
За ранние спасибо
День добрый:) Написанием скриптов на заказ не занимаюсь.
поделюсь несколькими скриптами для ОД. взамен (или просто так) хотел бы попросить помочь с взятием урлов из списка csv, и выполнения тех же манипуляций, что и у меня (у меня с заранее сделанных выборок на сайте)…не получается брать разные урлы в списке, или один и тот же или вообще никак
В подготовленной по критериям выборке в поиске жмет КЛАСС на главной , по очереди
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !EXTRACT_TEST_POPUP NO
SET !VAR1 EVAL(«var random=Math.floor(Math.random()*7 + 1); random;»)
SET !VAR2 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !VAR3 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !VAR4 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !LOOP 1
WAIT SECONDS={{!VAR1}}
TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:v1_gs_result_i_t_name* EXTRACT=HREF
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
TAB OPEN
TAB T=2
URL GOTO={{!VAR2}}
TAG POS=1 TYPE=A ATTR=TXT:Фото*
WAIT SECONDS=2
REFRESH
WAIT SECONDS=2
TAG POS=3 TYPE=SPAN ATTR=TXT:Класс!
WAIT SECONDS=2
TAB CLOSE
TAB T=1
В подготовленной по критериям выборке в поиске жмет 5+ (если активно), по очереди
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !EXTRACT_TEST_POPUP NO
SET !VAR1 EVAL(«var random=Math.floor(Math.random()*7 + 1); random;»)
SET !VAR2 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !VAR3 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !VAR4 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !LOOP 1
WAIT SECONDS={{!VAR1}}
TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:v1_gs_result_i_t_name* EXTRACT=HREF
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
TAB OPEN
TAB T=2
URL GOTO={{!VAR2}}
TAG POS=1 TYPE=IMG ATTR=ID:viewImageLinkId
TAG POS=1 TYPE=SPAN ATTR=CLASS:mark_icmark_ic__10&&TXT:
WAIT SECONDS=4
TAB CLOSE
TAB T=1
В подготовленной по критериям выборке в поиске ЗАХОДИТ В ГОСТИ И ПРИГЛАШАЕТ В ГРУППУ, по очереди
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !EXTRACT_TEST_POPUP NO
SET !VAR1 EVAL(«var random=Math.floor(Math.random()*7 + 1); random;»)
SET !VAR2 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !VAR3 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !VAR4 EVAL(«var random=Math.floor(Math.random()*9 + 1); random;»)
SET !LOOP 1
WAIT SECONDS={{!VAR1}}
TAG POS={{!LOOP}} TYPE=A ATTR=CLASS:v1_gs_result_i_t_name* EXTRACT=HREF
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
TAB OPEN
TAB T=2
URL GOTO={{!VAR2}}
TAG POS=1 TYPE=EM ATTR=TXT:ещё
SET !TIMEOUT_STEP 1
TAG POS=1 TYPE=SPAN ATTR=TXT:пригласитьвгруппу
WAIT SECONDS={{!VAR3}}
»»»»Укажите номер группы по счёту TAG POS=1 или TAG POS=2 и т.д.
TAG POS=1 TYPE=DIV ATTR=TXT:выбрать
WAIT SECONDS=1
TAG POS=1 TYPE=input ATTR=ID:hook_FormButton_button_invite
WAIT SECONDS=4
TAB CLOSE
TAB T=1
здравствуйте. Ваш скрипт для одноклассников не работает вообще.
Здравствуйте. Вот Вы выкладывали скрипт для написания твитов. Все здорово. Текст вставляет, но на кнпку твитнуть не жмет. Подскажите, пожалуйста как это исправить. Заранее спасибо.
Посмотрите через firebug код кнопки, возможно поменялся id, класс или html теги. Статье же год, скрипты писались под функционал, который был на тот момент, естественно, что что-то могло поменяться.
А как проверить с помощью firebug?
В инете полно инфы, на тему как пользоваться firebug. Гугл поиск в помощь!
спс за инфу, хотелось бы другой функционал, чтоб был некий конструктор для создания макрос….
Здравствуйте! Нашел скрипт для ОК для автоматической авторизации, можно сделать такой для ВК?
VERSION BUILD=7601104 RECORDER=FX
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !EXTRACT_TEST_POPUP NO
TAB T=1
‘авторизация логин 1
TAB T=1
URL GOTO=http://ok.ru/
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:field_email CONTENT=мыло
TAG POS=1 TYPE=INPUT:PASSWORD ATTR=ID:field_password CONTENT=пароль
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:https://www.ok.ru/https ATTR=*
WAIT SECONDS=5
Почему мне iMacros пишет что не может распознать команды var и for????
Может где то не указано что эти операторы не относятся к языку iMacrosa?????
Что за манера такая написать то что тебе кажется понятным и с умным видом смотреть как будут мучится те кто с этим еще не сталкивался?
Меня от iMacrosa интересует как создавать циклы с вычислением в них переменных но ни у одного подобного тебе учителя не нашел внятного объяснения как это делается
Да я вроде в учителя себя и не записывал)) Записал несколько макросов, чтоб разобраться как работает и поделился на блоге, с тем что может кому пригодится. Естественно, что со времени публикации уже что-то перестало работать.
iMacros постоянно обновляется, иногда его движек сильно переписывается, поэтому старые скрипты могут не работать в новых версиях. Благо — есть архив всех версий этого чуда, ставьте более старые версии, возможно все и заработает.
напишите пожалуста макрос для кликов по банерам и рекламам
Всем привет. Вопрос только знающим. В общем требуется строка скрипта чтоб рандомно кликало по сайте и вторая строка скрипта клик по рекламе адсенс, спасибо.
Здравствуйте, помогите пожалуйста собрать ссылки на видео с Ютуба
Хочется зайти на канал в «Видео» и вытащить от туда все ссылки на видео…
Хочу потом постить видео в контакт.
Заранее большое спасибо!
А скрипт для выбора даты в календаре можно как нибудь написать за деньги?
Я написанием скриптов за деньги не занимаюсь, посмотрите на форуме https://forum.mozilla-russia.org/viewforum.php?id=42 видел там предложения по написанию iMacros скриптов.
Здравствуйте! Как поставить текст с рекламы на аймакрос? У меня воспроизведение идет, а текст нет в группах, помогите пожал.