Готовый код Imacros

  • Автор темы Автор темы Derrini
  • Дата начала Дата начала
2016-06-27_101208.png
2016-06-27_101321.png
У меня этот способ срабатывает. Ищите у себя, возможно что-то не так делаете
 
  • Спасибо
Реакции: ottec
Капмонстер ответил. Моя ошибка была - после вопроса поставил ; вместо : Теперь буду мудрить над скриптом. Derrini спасибо за ответы.
 
Derrini Подскажи пожалуйста! При извлечении ответов из кода страницы. Не знаю как обрезать лишнее, вроде как replace это делает. otvet=iimGetLastExtract().match(/tabindex="0">[\w+ ]+<\/td>/g); Но otvet имеет следующий вид: tabindex="0">reportoire</td> . Как оставить только reportoire?
 
Да, я так пробовал но не получается. Вот код по выдергиванию фразы и ответов:

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
 
Но не могу обрезать 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'));
 
Забавная штука этот 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
Shoarin Если не сложно, можешь накидать код под Imacros (по ассоциациям) с отправкой на CapMon, и последующие нажатие по кнопкам? Я не силен в .js . Уже всю голову сломал. Код по выдергиванию фраз описан выше, на как отправить и нажать тяму воооооообще не хватает!
 
Только сильно не не ругайся опыта 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
Только сильно не не ругайся опыта 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 слишком много строк получается.
Я не указываю,не упрекаю типо не надо писать так а надо так а простой совет))))
 
Спасибо за совет, был образец с первой страницы с него и начал с этим синтаксисом вчера день убил чтобы запихать данные в "Task".
 
Спасибо за совет, был образец с первой страницы с него и начал с этим синтаксисом вчера день убил чтобы запихать данные в "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');
 
Сколько команд можно запихать в одну строчку?
 
Сколько команд можно запихать в одну строчку?
Честно без понятия,но все в 1 строку не стоит делать так как скрипт будет не читабелен и редактировать его будет сложно в дальнейшем.
Я делаю по строке на каждый элемент,то есть если это клик по кнопке то 1 строка,если нажатие на капчу так же 1 строка.посмотри на код что я написал последний,он читабелен и каждая строка это 1 действие.
 
Подскажите как правильно запускать несколько .js из одного.js, и вообще возможно такое?
Сколько пробовал фигня получается скачет по строкам скрипта ни какой последовательности.
 
Подскажите как правильно запускать несколько .js из одного.js, и вообще возможно такое?
Сколько пробовал фигня получается скачет по строкам скрипта ни какой последовательности.
Все возможно,смотря для какой цели и какая логика скрипта.Обьясни более подробно что ты хочешь
 
Цел, как хвост у твоего ника. Вставить в один .js несколько скриптов, каждый скрипт отдельный кран.
То есть в главном скрипте поочередный запуск скриптов в цикле и временная задержка.
 
  • Спасибо
Реакции: ksander
Цел, как хвост у твоего ника. Вставить в один .js несколько скриптов, каждый скрипт отдельный кран.
То есть в главном скрипте поочередный запуск скриптов в цикле и временная задержка.
Краны все посути шаблоном похожи.Сделай основные действия как разгадка капчи,вставка кошелька,клик кнопки в функции и вынеси их вверх или низ скрипта и просто потом вызывай эти функции.
 
Цел, как хвост у твоего ника. Вставить в один .js несколько скриптов, каждый скрипт отдельный кран.
То есть в главном скрипте поочередный запуск скриптов в цикле и временная задержка.
Ты через прокси собираешь?
 
А прокси обязательно?
 
Разъясни если не трудно хотя бы основу, я неделю гоняю 5 кранов, ну как гоняю взял с первого поста скрипт подогнал к крану пока извращался вышел capmonstr v2.6 с ReCaptchaAssociation сейчас гоняю 5 кранов и все с одного ip ну не с одного но спецом модем не дергаю.
Короче эксперимент под названием "стоит ли игра свеч".
 
Разъясни если не трудно хотя бы основу, я неделю гоняю 5 кранов, ну как гоняю взял с первого поста скрипт подогнал к крану пока извращался вышел capmonstr v2.6 с ReCaptchaAssociation сейчас гоняю 5 кранов и все с одного ip ну не с одного но спецом модем не дергаю.
Короче эксперимент под названием "стоит ли игра свеч".
Основу надо самому изучать а именно js.Есть форум мозиллы там есть раздел imacros там впринципи можно найти все что нужно касаемо imacros.Вот здесь https://learn.javascript.ru можно изучить основу js
 
Основу надо самому изучать а именно 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 то работает на ура.
 

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