Готовый код Imacros

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
2016-06-27_101208.png
2016-06-27_101321.png
У меня этот способ срабатывает. Ищите у себя, возможно что-то не так делаете
 
  • Спасибо
Реакции: ottec

ottec

Client
Регистрация
21.05.2016
Сообщения
28
Благодарностей
1
Баллы
3
Капмонстер ответил. Моя ошибка была - после вопроса поставил ; вместо : Теперь буду мудрить над скриптом. Derrini спасибо за ответы.
 

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28
Derrini Подскажи пожалуйста! При извлечении ответов из кода страницы. Не знаю как обрезать лишнее, вроде как replace это делает. otvet=iimGetLastExtract().match(/tabindex="0">[\w+ ]+<\/td>/g); Но otvet имеет следующий вид: tabindex="0">reportoire</td> . Как оставить только reportoire?
 

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28
Да, я так пробовал но не получается. Вот код по выдергиванию фразы и ответов:

var iP=iimPlayCode, iD=iimDisplay, t0='SET !TIMEOUT_STEP 0\n', t3='SET !TIMEOUT 30\n';
iP(t0+'TAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm');f2='FRAME '+iimGetExtract().match(/name="\w+"/)+'\n';
iP(t0+f2+'TAG POS=1 TYPE=div ATTR=class:rc-text-desc-wrapper extract=htm'); frasa=iimGetLastExtract().match(/<span>(.*?)<\/span>/)[1];
iP(t0+f2+'TAG POS=1 TYPE=table ATTR=class:rc-text-choices extract=htm'); otvet=iimGetLastExtract().match(/tabindex="0">[\w+ ]+/g);
//otvet=otvet.replace(/tabindex="0">/,"");
alert('Фраза: '+frasa+'\nОтветы :\n--------------\n'+otvet.join('\n'));

Но не могу обрезать tabindex="0">. Ругается на otvet.replace
 

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8
Но не могу обрезать tabindex="0">. Ругается на otvet.replace
.
Результат выполнения функции match() - это массив, соответственно вам надо обработать каждый из элементов этого массива например вот так:
Код:
otvet=iimGetLastExtract().match(/tabindex="0">[\w+ ]+/g);
for(i=0;i<otvet.length;i++){
otvet[i].replace(/tabindex="0">/,"").replace(/<\/td>/,"");
}
alert('Фраза: '+frasa+'\nОтветы :\n--------------\n'+otvet.join('\n'));
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28
Не....... так не работает. (мир не без добрых людей)верное решение :

otvet=iimGetLastExtract().match(/tabindex="0">[\w+ ]+<\/td>/g);
var l=otvet.length;
while(l--){
otvet[l]=otvet[l].match(/>(.*?)</).pop();
 

Shoarin

Новичок
Регистрация
29.06.2016
Сообщения
19
Благодарностей
1
Баллы
3
Забавная штука этот imacros.
Тоже набросал простенькие коды:
Если требуется сохранить пару десятков капч вручную:
Код:
var cap = '';
iimPlayCode("URL GOTO=https://wordstat.yandex.ru/#!/history?words=cy-pr");// Путь к страничке с капчей или прямой путь до самой капчи
while (true) { //указание бесконечного цикла
var cap = prompt("Текст капчи", "" );//Назначение переменной для подстановки в имя капчи
iimPlayCode ("ONDOWNLOAD FOLDER=C:\\CAPCHA\\ FILE="+cap+".jpg\nTAG POS=1 TYPE=IMG ATTR=SRC:*captcha.yandex.net/image?key=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT");//Собственно сохранение вашей капчи, с указанным именем и дирректорией для сохранения
iimPlayCode ("REFRESH"); //Обновление странички для получения новой капчи.Если капча не обновляется измените на "CLEAR\nREFRESH"
};
Чтобы выйти из цикла просто закройте страничку.



Если требуется сохранить капчи, предварительно прогнав их через антигейт форму:
Код:
var cap_pr = '', i;
var antigeitkey = "";//Указывайте свой код антигейт
iimPlayCode("URL GOTO=https://wordstat.yandex.ru/#!/history?words=cy-pr");// Путь к страничке с капчей или прямой путь до самой капчи
for (i = 0; i < 100; i++) { //Кол-во 100, можно изменять по желанию.
for(var x, j = [], k = 0; k < 5; k++) {
    x = [[48,57], [65,90], [97,122], [1040,1103]][Math.random() * 4 >> 0];
    j[k] = String.fromCharCode((Math.random() * (x[1] - x[0] + 1) >> 0) + x[0]);
};
var cap_pr = 'captcha_' + j.join("") + '.jpg';
iimPlayCode ("ONDOWNLOAD FOLDER=C:\\CAPCHA\\ FILE="+cap_pr+"\nTAG POS=1 TYPE=IMG ATTR=SRC:*captcha.yandex.net/image?key=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT\nWAIT SECONDS=1");
iimPlayCode ("TAB OPEN\nTAB T=2\nURL GOTO=http://antigate.com/imacros.html");
iimPlayCode ("TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://antigate.com/in.php ATTR=NAME:key CONTENT=" + antigeitkey + "\nTAG POS=1 TYPE=INPUT:FILE FORM=ACTION:in.php ATTR=NAME:file CONTENT=C:\\CAPCHA\\"+cap_pr+"\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:in.php ATTR=*\nWAIT SECONDS=#DOWNLOADCOMPLETE#");
iimPlayCode ("TAG POS=1 TYPE=SPAN ATTR=TXT:* EXTRACT=TXT\nSET !VAR1 {{!EXTRACT}}\nTAB CLOSE \nTAB T=0\nONDOWNLOAD FOLDER=C:\\CAPCHA\\PR\\ FILE={{!VAR1}}.jpg\nTAG POS=1 TYPE=IMG ATTR=SRC:*captcha.yandex.net/image?key=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT\n");
iimPlayCode ("REFRESH");
};
Тут ясно когда завершится цикл. Извращение конечно, но вдруг где-то в глухих импенях находитесь и качать, тот же MCS дольше, а ручками не хочется.



И просто код на сохранения любого количества капч без распознавания:
Код:
var cap_pr = '', i;
iimPlayCode("URL GOTO=https://wordstat.yandex.ru/#!/history?words=cy-pr");// Путь к страничке с капчей или прямой путь до самой капчи
for (i = 0; i < 1200; i++) {
for(var x, j = [], k = 0; k < 5; k++) {
    x = [[48,57], [65,90], [97,122], [1040,1103]][Math.random() * 4 >> 0];
    j[k] = String.fromCharCode((Math.random() * (x[1] - x[0] + 1) >> 0) + x[0]);
};
var cap_pr = 'captcha_' + j.join("") + '.jpg';
iimPlayCode ("ONDOWNLOAD FOLDER=C:\\CAPCHA\\ FILE="+cap_pr+"\nTAG POS=1 TYPE=IMG ATTR=SRC:*captcha.yandex.net/image?key=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT");
iimPlayCode ("REFRESH");
};


Можно, конечно, строчку указания условий цикла:
Код:
for (i = 0; i < 1200; i++)
Заменить на:
Код:
for (i = 0; i < m; i++) {
И ввести отдельную переменную, но, т.к. код в пару строк, это делать достаточно глупо, рыскать то по нему не придется.
Но для совсем ленивых или тех, кто захотел встроить себе в середину кода из тысяч строк вот:
Код:
var m = 3;//Количество сохраненных капч
var cap_pr = '', i;
iimPlayCode("URL GOTO=https://wordstat.yandex.ru/#!/history?words=cy-pr");// Путь к страничке с капчей или прямой путь до самой капчи
for (i = 0; i < m; i++) {
for(var x, j = [], k = 0; k < 5; k++) {
   x = [[48,57], [65,90], [97,122], [1040,1103]][Math.random() * 4 >> 0];
   j[k] = String.fromCharCode((Math.random() * (x[1] - x[0] + 1) >> 0) + x[0]);
};
var cap_pr = 'captcha_' + j.join("") + '.jpg';
iimPlayCode ("ONDOWNLOAD FOLDER=C:\\CAPCHA\\ FILE="+cap_pr+"\nTAG POS=1 TYPE=IMG ATTR=SRC:*captcha.yandex.net/image?key=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT");
iimPlayCode ("REFRESH");
};
 
  • Спасибо
Реакции: Derrini

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28
Shoarin Если не сложно, можешь накидать код под Imacros (по ассоциациям) с отправкой на CapMon, и последующие нажатие по кнопкам? Я не силен в .js . Уже всю голову сломал. Код по выдергиванию фраз описан выше, на как отправить и нажать тяму воооооообще не хватает!
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Только сильно не не ругайся опыта 0 у меня работает, день вчера убил "'+qw+'"'.

var l=otvet.length;
while(l--){
otvet[l]=otvet[l].match(/>(.*?)</).pop();
iimDisplay(''+frasa+':'+otvet.join(';'));}
var qw=(''+frasa+':'+otvet.join(';'))
var code = standartcode;
code+='TAB OPEN'+n;
code+='TAB T=2'+n;
code+='URL GOTO='+Forma+n;
code+='SET !TIMEOUT_STEP 0'+n;
code+= 'WAIT SECONDS=1'+n;
iimPlayCode(code);
var form0 = window.document.forms[0];
form0.action='http://'+ip+'/in.php'
var code = standartcode;
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key+n;
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:CapMonsterModule CONTENT=ZennoLab.ReCaptchaAssociation'+n;
code+='TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:Task CONTENT="'+qw+'"'+n;
code+='TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'+n;
code+='TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'+n;
iimPlayCode(code);
var capchaID=iimGetExtract(1);
var text=capchaID;
var arr = text.split(/[;]/);
var code =standartcode;
code += 'SET !TIMEOUT_STEP 0'+n;
code += 'ONDIALOG POS=1 BUTTON=OK CONTENT='+n;
code += 'TAB T=1'+n;
code += 'TAB T=0'+n;
code += 'TAB T=-1'+n;
code += 'TAB T=-2'+n;
code += 'TAB CLOSEALLOTHERS'+n;
iimPlayCode(code);

for (var i, i=0,len=arr.length;i<len;i++) {
var code = standartcode;
var otv=(arr);
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc1"' + n;
code += 'WAIT SECONDS=1' + n;
code += 'TAG POS=1 TYPE=TD ATTR=TXT:"'+otv+'"'+n;
iimPlayCode(code);
iimDisplay(otv);
}
var code = standartcode;
code += 'FRAME NAME="rc1"'+n;
code += 'WAIT SECONDS=1' + n;
code += 'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0' + n;
 
  • Спасибо
Реакции: Derrini

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28

Derrini

Client
Регистрация
12.03.2016
Сообщения
90
Благодарностей
24
Баллы
8

Shoarin

Новичок
Регистрация
29.06.2016
Сообщения
19
Благодарностей
1
Баллы
3

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Только сильно не не ругайся опыта 0 у меня работает, день вчера убил "'+qw+'"'.
Дам совет который в дальнейшем тебе упростит коды и их скорость работы.
Никогда не используй imacros code creator.
Например как у тебя сейчас код :
var code =standartcode;
code += 'SET !TIMEOUT_STEP 0'+n;
code += 'ONDIALOG POS=1 BUTTON=OK CONTENT='+n;
code += 'TAB T=1'+n;
code += 'TAB T=0'+n;
code += 'TAB T=-1'+n;
code += 'TAB T=-2'+n;
code += 'TAB CLOSEALLOTHERS'+n;
iimPlayCode(code);
Если поставить на среднюю скорость воспроизведения и посмотреть как обрабатывается такой код то ты увидешь такое - сначало скрипт прочитается сверху вниз до его вызова iimPlayCode(code);,увидит вызов команды code опять возвратиться назад и только после выполнит.
Я раньше так же писал но как заметил через время сильные тормоза отказался от code creator.
Щас пишу так iimPlayCode('SET !TIMEOUT_STEP 0\nONDIALOG POS=1 BUTTON=OK CONTENT=\nTAB T=1\nTAB T=0\nTAB T=-1\nTAB T=-2\nTAB CLOSEALLOTHERS');
такого рода команты как закрытие окон лучше писать в 1 строку,всего 5-6 команд но через cpde creator слишком много строк получается.
Я не указываю,не упрекаю типо не надо писать так а надо так а простой совет))))
 

marya

Client
Регистрация
23.06.2016
Сообщения
253
Благодарностей
26
Баллы
28

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Спасибо за совет, был образец с первой страницы с него и начал с этим синтаксисом вчера день убил чтобы запихать данные в "Task".
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Спасибо за совет, был образец с первой страницы с него и начал с этим синтаксисом вчера день убил чтобы запихать данные в "Task".
Вот попробуй код он такой же как ты прислал последний отрывок от отправки до нажатия кнопки


var ip_cap = '111.111.1.1'
var l=otvet.length;
while(l--){
otvet[l]=otvet[l].match(/>(.*?)</).pop();
iimDisplay(''+frasa+':'+otvet.join(';'));}
var qw=(''+frasa+':'+otvet.join(';'))
window.open();
iimPlayCode('URL GOTO='+ip_cap+'/imacros.html');
iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT=' + key);
iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:CapMonsterModule CONTENT=ZennoLab.ReCaptchaAssociation');
iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:Task CONTENT='+qw);
iimPlayCode('SET !TIMEOUT 120\nSET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=INPUT:SUBMIT ATTR=*')
iimPlayCode('TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT');
var arr = iimGetExtract().split(';');
iimPlayCode('WAIT SECONDS=1');
window.close();
for (as = 0; as < arr.length; as++){
iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME NAME="rc1"\nTAG POS=1 TYPE=TD ATTR=TXT:'+arr[as].replace(/\s/ig, '<SP>')+'\nWAIT SECONDS=0.1');
iimDisplay(arr[as]);
}
iimPlayCode('FRAME NAME="rc1"\nWAIT SECONDS=1\nEVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0');
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Сколько команд можно запихать в одну строчку?
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Сколько команд можно запихать в одну строчку?
Честно без понятия,но все в 1 строку не стоит делать так как скрипт будет не читабелен и редактировать его будет сложно в дальнейшем.
Я делаю по строке на каждый элемент,то есть если это клик по кнопке то 1 строка,если нажатие на капчу так же 1 строка.посмотри на код что я написал последний,он читабелен и каждая строка это 1 действие.
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Подскажите как правильно запускать несколько .js из одного.js, и вообще возможно такое?
Сколько пробовал фигня получается скачет по строкам скрипта ни какой последовательности.
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Подскажите как правильно запускать несколько .js из одного.js, и вообще возможно такое?
Сколько пробовал фигня получается скачет по строкам скрипта ни какой последовательности.
Все возможно,смотря для какой цели и какая логика скрипта.Обьясни более подробно что ты хочешь
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Цел, как хвост у твоего ника. Вставить в один .js несколько скриптов, каждый скрипт отдельный кран.
То есть в главном скрипте поочередный запуск скриптов в цикле и временная задержка.
 
  • Спасибо
Реакции: ksander

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Цел, как хвост у твоего ника. Вставить в один .js несколько скриптов, каждый скрипт отдельный кран.
То есть в главном скрипте поочередный запуск скриптов в цикле и временная задержка.
Краны все посути шаблоном похожи.Сделай основные действия как разгадка капчи,вставка кошелька,клик кнопки в функции и вынеси их вверх или низ скрипта и просто потом вызывай эти функции.
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Цел, как хвост у твоего ника. Вставить в один .js несколько скриптов, каждый скрипт отдельный кран.
То есть в главном скрипте поочередный запуск скриптов в цикле и временная задержка.
Ты через прокси собираешь?
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
А прокси обязательно?
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Разъясни если не трудно хотя бы основу, я неделю гоняю 5 кранов, ну как гоняю взял с первого поста скрипт подогнал к крану пока извращался вышел capmonstr v2.6 с ReCaptchaAssociation сейчас гоняю 5 кранов и все с одного ip ну не с одного но спецом модем не дергаю.
Короче эксперимент под названием "стоит ли игра свеч".
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Разъясни если не трудно хотя бы основу, я неделю гоняю 5 кранов, ну как гоняю взял с первого поста скрипт подогнал к крану пока извращался вышел capmonstr v2.6 с ReCaptchaAssociation сейчас гоняю 5 кранов и все с одного ip ну не с одного но спецом модем не дергаю.
Короче эксперимент под названием "стоит ли игра свеч".
Основу надо самому изучать а именно js.Есть форум мозиллы там есть раздел imacros там впринципи можно найти все что нужно касаемо imacros.Вот здесь https://learn.javascript.ru можно изучить основу js
 

Iktor

Client
Регистрация
08.03.2016
Сообщения
59
Благодарностей
4
Баллы
8
Основу надо самому изучать а именно js.Есть форум мозиллы там есть раздел imacros там впринципи можно найти все что нужно касаемо imacros.Вот здесь https://learn.javascript.ru можно изучить основу js
Я в курсе про эти сайты периодически туда ныряю, тогда если можно вопрос с примером. По твоему совету стал приписывать код скрипта
на iimPlayCode и как говорится получил больше вопросов.
Вот этот код работает:
var code = standartcode;
code += 'SET !TIMEOUT_STEP 0' + n;
code += 'FRAME NAME="rc0"' + n;
code += 'TAG POS=1 TYPE=SPAN ATTR=CLASS:rc-anchor-error-msg EXTRACT=txt' + n;
iimPlayCode(code);
а вот уже этот код через iimPlayCode не работает и даже ошибки не выдает:
iimPlayCode('SET !TIMEOUT_STEP 0');
iimPlayCode('FRAME NAME="rc0"');
iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=CLASS:rc-anchor-error-msg EXTRACT=TXT');,
НО если вот этот кусок кода запихать в одну строчку с одним iimPlayCode то работает на ура.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)