Обсуждение скриптов и вопросов связанных с борьбой с капчами.
========================================================================
Начну пожалуй.
if(iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=script ATTR=src:*recaptcha*')>0){ f1='FRAME NAME=undefined\n'; iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm'); f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n'; iimPlayCode('ONDOWNLOAD FOLDER=C:\\CapNum\\ FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); }
Уменьшение картинки/капчи в размерах.
Тут есть много вариантов, приведу парочку.
Вариант 1
Использование сторонней программы.
Качаем convert.exe и распаковываем в папку куда сохраняются капчи (допустим C:\\CapNum\\).Вот этот код уменьшит и обрежет картинку/капчу cap.jpg в 2 раза (создаст рядом уменьшенную cap2.jpg)Выделить кодКод:
var Cc=Components.classes, Ci=Components.interfaces; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var args=['convert', 'C:\\CapNum\\cap.jpg', '-resize', '200x300', '-crop', '194x253+4+4', 'C:\\CapNum\\cap2.jpg']; file.initWithPath("C:\\CapNum\\convert.exe"); proc.init(file); proc.run(false, args, args.length);
Вариант 2
Использование PHP
Качаем вот это и распаковываем в папку C:\\CapNum\\.
Создаём файлик 1.php в папке куда сохраняются капчи C:\\CapNum\\.Скрипт 1.phpВыделить кодКод:
<?php $img=imagecreatefromjpeg("C:/CapNum/cap.jpg"); $des=imagecreatetruecolor(200,300); $col=imagecolorallocate($des, 0x00, 0x00, 0xFF); imagecopyresized($des, $img, 0, 0, 0, 0, 200, 300, 384, 510); imagestring($des, 5, 5, 70, "1", $col); imagestring($des, 5, 73, 70, "2", $col); imagestring($des, 5, 140, 70, "3", $col); imagestring($des, 5, 5, 148, "4", $col); imagestring($des, 5, 73, 148, "5", $col); imagestring($des, 5, 140, 148, "6", $col); imagestring($des, 5, 5, 225, "7", $col); imagestring($des, 5, 73, 225, "8", $col); imagestring($des, 5, 140, 225, "9", $col); imagejpeg($des, 'C:/CapNum/cap2.jpg'); imagedestroy($des); imagedestroy($img); ?>Вот этот код, для запуска 1.php, уменьшит картинку/капчу cap.jpg в 2 раза (создаст рядом уменьшенную cap2.jpg).
И так же пронумерует все варианты ответов (маленькие картинки) от 1 до 9 .Выделить кодКод:
var Cc=Components.classes, Ci=Components.interfaces; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var args=['C:\\CapNum\\1.php']; file.initWithPath('C:\\CapNum\\PHP\\PHP.exe'); // <--- Путь до PHP.exe proc.init(file); proc.run(false, args, args.length);
function resize(){ var Cc=Components.classes, Ci=Components.interfaces, c, Path='C:\\CapNum\\'; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); var args=['convert', 'C:\\CapNum\\cap.jpg', '-resize', '200x300', '-crop', '194x253+4+4', 'C:\\CapNum\\cap2.jpg']; file.initWithPath(Path+"convert.exe"); proc.init(file); proc.run(false, args, args.length);} var key='тут ключик от рукапчи'; var bit='тут биткоин кошель'; f1='FRAME NAME=undefined\n'; if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=2 TYPE=DIV ATTR=TXT:reCAPTCHA')>0){ iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); iimPlayCode('WAIT SECONDS=5'); iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="true')<0){ iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm'); f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n'; if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-imageselect-desc-wrapper')>0){ for(a=1; a<9; a++){ if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-image-tile-33')>0) break; else iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0');} iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); iimPlayCode('WAIT SECONDS=2'); resize(); // <--- Уменьшаем картинку iimPlayCode('WAIT SECONDS=2'); iimPlayCode('TAB OPEN\nTAB T=2'); /*** -= Отправляем на распознавание =- ***/ for(sk=0; sk<=9; sk++){ iimPlayCode('SET !TIMEOUT 30\nURL GOTO=imacros2.rucaptcha.com/new/'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT='+Path+'cap2.jpg'); iimPlayCode('SET !TIMEOUT 80\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'); iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); if(iimGetExtract().search(/\d/)!=-1){ c=iimGetExtract().match(/\d+/g).join(''); iimDisplay(c); if(iimGetExtract().indexOf("ERROR")<0) break;}}} iimPlayCode('WAIT SECONDS=1\nTAB CLOSE'); if(Number(c)>0){ for(k=0; k<c.length; k++){ iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS='+c[k]+' TYPE=DIV ATTR=CLASS:rc-imageselect-checkbox');} iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV>DIV>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0'); //<--- Код нажатия кнопки Продолжить, на некоторых сайтах может отличаться iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0'); iimPlayCode('WAIT SECONDS=2');}} iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM'); if(iimGetExtract().indexOf('checked="true')>0){ iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); // <--- Водим биткоин кошель iimPlayCode('SET !TIMEOUT 30\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*'); // <--- Нажатие кнопки на самом сайте, тег кнопки может отличаться iimPlayCode('WAIT SECONDS=1');}}
Сначала качаем вот это и распаковываем в папку C:\CapNum\
https://pastebin.mozilla.org/8867297
var Cc=Components.classes, Ci=Components.interfaces,a,b,c,d,e,f=0,refka='1AWqZ3ke9z8eSvZWFPeHTY8a3jmQNWKhSa'; var cok=Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager); var prf=Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); var str=Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); var alt=Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(Ci.nsIPromptService); var t0='SET !TIMEOUT_STEP 0\n', t3='SET !TIMEOUT 30\n'; kap="javascript:document.write('<b><h1>Распознаём капчу !</h1></b>');window.stop();"; Path='C:\\CapNum\\solve\\'; bit='биткоин кошель'; //for(;;){ del_cookis(); iimPlayCode('CLEAR\nTAB CLOSEALLOTHERS\nSET !TIMEOUT 30\nURL GOTO=crypto4free.net?r='+refka); a=iimPlayCode(t0+'TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:*our*address*'); b=iimPlayCode(t0+'TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:Ваш*адрес:'); c=iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=ID:faucet-label'); d=iimPlayCode(t0+'TAG POS=1 TYPE=div ATTR=ID:adcopy-outer'); e=iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:*ou*wait*'); if((a>0||b>0||c>0) && d>0 && e<0) solve(); weit(361); //} /***************************************************/ function solve(){ var txt='', w=0; for(q=0; q<2; q++){ if(iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:*ou*wait*')>0) break; for(z=0; z<20; z++){ /* Если грязная капча обновляем */ if(iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image')>0 || iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=SRC:*api.solvemedia.com/papi/media?c=*')>0) reload(); else{ z=100; for(w=0; w<=60; w++){ /* Ищем капчу с тегом SPAN slog (которая ломается без распознавания) или флеш капчу или обычный канвас (капча с ровными буквами) */ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:slog')>0){ /* Если ломаемая капча извлекаем текст и нижний код пропускаем */ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog')>0){ iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog EXTRACT=TXT'); txt=iimGetLastExtract();} /* Если флеш капча, сохраняем на комп и запускаем функцию flesh() и нижний код пропускаем */ else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay')>0){ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0) weit(10); iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); iimPlayCode(t0+'TAG POS=1 TYPE=A ATTR=TXT:Return*Page'); weit(1); flesh();} /* Если обычный канвас (капча с ровными буквами), сохраняем на комп и запускаем функцию canvas() */ else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:slog')>0){ iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*slog CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');weit(1); canvas();}w=100;}}}} /* Если ничего из верхнего не помогло, грязная капча */ if(w!=100){ iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=SRC:http://api.solvemedia.com/papi/media?c=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');weit(1); ... // Тут отправка на сервис распознавания ... } txt=txt.replace(/\W/gi,"").replace(/[0-9]/gi,"").replace(/_/gi,""); if(txt!='' && txt.length>5){ iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); iimPlayCode(t0+'TAG POS=2 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:adcopy_response CONTENT="'+txt+'"');weit(1); if(iimPlayCode(t3+'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*')<0) iimPlayCode(t3+'TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:*Get*');} else reload(); if(iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=CLASS:alert*alert*&&TXT:*satoshi*sen*')>0) q=10;}} /***-= Обрабатываем флеш капчу =-***/ function flesh(){ iimDisplay('Обрабатываем флеш капчу'); iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"'); var Cc=Components.classes, Ci=Components.interfaces, args=["C:\\CapNum\\solve\\flesh.vbs"]; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\System32\\wscript.exe"); proc.init(file); proc.run(false, args, args.length); weit(15); iimPlayCode('URL GOTO=file:///'+Path+'otvet.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); txt=iimGetExtract();weit(1); iimPlayCode('TAB CLOSE');} /***-= Обрабатываем канвас капчу =-***/ function canvas(){ iimDisplay('Обрабатываем канвас капчу'); iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"'); var Cc=Components.classes, Ci=Components.interfaces, args=["C:\\CapNum\\solve\\canvas.vbs"]; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Windows\\System32\\wscript.exe"); proc.init(file); proc.run(false, args, args.length); weit(15); iimPlayCode('URL GOTO=file:///'+Path+'otvet.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); txt=iimGetExtract();weit(1); iimPlayCode('TAB CLOSE');} /***-= Удаляем куки =-***/ function del_cookis(){ iimDisplay('Удаляем куки'); var iter=cok.enumerator; while (iter.hasMoreElements()){var cookie=iter.getNext(); if(cookie instanceof Ci.nsICookie){ cok.remove(cookie.host, cookie.name, cookie.path, cookie.blocked);}}} /***-= Обновление капчи =-***/ function reload(){iimPlayCode(t3+'TAG POS=1 TYPE=IMG ATTR=SRC:*solvemedia.com/media/reload*.gif'); weit(1);} /***-= Ожидание =-***/ function weit(s){iimPlayCode('WAIT SECONDS='+s);}
Отредактировано PRESIDENT (19-04-2016 18:30:59)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
palpalyh
var key='xxxxxxxxxxxx'; // здесь твой ключ от рукапчи var bit='xxxxxxxxxxxx'; // здесь кошелек var Path='C:\\CAPCH\\' //здесь путь к папке где хранятся картинки var t0='SET !TIMEOUT_STEP 0\n' var t3='SET !TIMEOUT 30\n' //Заходим в аккаунт и выбираем bit iimPlayCode('CLEAR\nTAB CLOSEALLOTHERS\nSET !TIMEOUT 30\nURL GOTO=http://xxxxxxxxxxxxxxx/' + '\n'); // здесь адрес крана iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/reward ATTR=NAME:address CONTENT='+bit); //здесь ввод кошеля (у тебя другой,посмотри на записи в iim) iimPlayCode('WAIT SECONDS=3'); //Забираем и разгадываем капчу iimPlayCode('ONDOWNLOAD FOLDER= '+Path+' FILE=image.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); // здесь сохранение картинки (у тебя другой,посмотри на записи в iim (тыкни на картинку)) //Отправляем капчу на распознавание iimPlayCode(t3+'TAB OPEN\nTAB T=2\nURL GOTO=http://imacros2.rucaptcha.com/new/'); iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:getcapcha.php ATTR=NAME:get_id CONTENT=YES'); iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:getcapcha.php ATTR=NAME:key CONTENT=' +key); iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:getcapcha.php ATTR=NAME:file CONTENT=' +Path+ 'image.jpg'); iimPlayCode('SET !TIMEOUT 120\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*'); iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); iimDisplay(iimGetExtract()); var e =iimGetExtract(); s=e.split('|'); //Разделяем ответ на составляющие/ iimDisplay('Разгадано?: '+s[0]+'\nID капчи: '+s[1]+'\nОтвет : '+s[2]); iimPlayCode('TAB CLOSE'); if(e.indexOf("ERROR")<0) { //Проверяем наличие ошибки от рукапчи iimPlayCode('WAIT SECONDS=3'); iimPlayCode(t0+'TAB T=1\nTAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/reward ATTR=ID:adcopy_response CONTENT="'+s[2]+'"'); //здесь ввод надписи (у тебя другой,посмотри на записи в iim) //alert (s[2]); iimPlayCode('WAIT SECONDS=2'); iimPlayCode(t0+'TAB T=1\nTAG POS=1 TYPE=BUTTON FORM=ACTION:/reward ATTR=ID:submitButton'); // //Проверяем правильность ввода капчи // if(iimPlayCode(t0+'TAG POS=1 TYPE=STRONG ATTR=TXT:*satoshi*was*sent*')<0){ // ну а здесь возврат если не верно (один из вариантов ,что я дал) iimPlayCode('TAB OPEN\nTAB T=2'); // iimPlayCode(t3+'URL GOTO=rucaptcha.com/res.php?key='+key+'&action=reportbad&id='+s[1]+''); // iimPlayCode('WAIT SECONDS=3\nTAB CLOSE');}}
Удачи! У тебя получиться!
Добавлено 29-03-2016 16:29:44
palpalyh
var version = "Script"; var loop = 1; var all_cap = 0; for (;;){ //1 скрипт iimPlayCode('TAB CLOSEALLOTHERS'); iimPlayCode("URL GOTO=imacros://run/?m=твоя папка/твой скрипт.js"); iimPlay("CODE:WAIT SECONDS=3"); //2 скрипт iimPlayCode('TAB CLOSEALLOTHERS'); iimPlayCode("URL GOTO=imacros://run/?m=ххххх/хххххххх.js"); iimPlay("CODE:WAIT SECONDS=3"); //3 скрипт iimPlayCode('TAB CLOSEALLOTHERS'); iimPlayCode("URL GOTO=imacros://run/?m=ххххх/хххххххх.js"); iimPlay("CODE:WAIT SECONDS=3"); //4 скрипт iimPlayCode('TAB CLOSEALLOTHERS'); iimPlayCode("URL GOTO=imacros://run/?m=ххххх/хххххххх.js"); iimPlay("CODE:WAIT SECONDS=900"); iimPlay("CODE:WAIT SECONDS=900"); check = "ПодоЖдём-с"; iimDisplay(check); loop++; }
Первым делом создай папку и засунь в него свои скрипты. А здесь пропиши пути к нему. Допустим скрипты у тебя в папке "data" и один из них под названием "Freebitcoin" соответственно запись будет такой: iimPlayCode("URL GOTO=imacros://run/?m=data/Freebitcoin.js");
Отредактировано dim222 (29-03-2016 16:29:44)
Отсутствует
dim222
удалено - избыточное цитирование, правила: пункт 2.9; FAQ: по оформлению постов
InfSub
Спасибо!!!!!Огромное!!!! Буду со всем этим разбираться!!
Отсутствует
удалил,основная масса не поняла для чего был нужен этот код
Отсутствует
gnomik Ну теперь то все понятно! Спасибо!!!
Отсутствует
кому интересно
скрытый текстте кто заинтересовался вариантом по гугло поиску можете заменить в скрипте вот этот отрезокВыделить кодКод:
for (k=0;k<eng.length;k++) { if(img.toUpperCase().indexOf('-'+eng[k].toUpperCase()+'-')>0||img.toUpperCase().indexOf('_'+eng[k].toUpperCase()+'_')>0||img.toUpperCase().indexOf('/'+eng[k].toUpperCase()+'-')>0||img.toUpperCase().indexOf('-'+eng[k].toUpperCase()+'/')>0) {check++;}}kgoog[ku]=check;}на вот этот
Выделить кодКод:
for (k=0;k<eng.length;k++) { if(img.toUpperCase().indexOf('-'+eng[k].toUpperCase()+'-')>0||img.toUpperCase().indexOf('_'+eng[k].toUpperCase()+'_')>0||img.toUpperCase().indexOf('/'+eng[k].toUpperCase()+'-')>0||img.toUpperCase().indexOf('-'+eng[k].toUpperCase()+'/')>0||img.toUpperCase().indexOf('/'+eng[k].toUpperCase()+'_')>0||img.toUpperCase().indexOf('_'+eng[k].toUpperCase()+'/')>0||img.toUpperCase().indexOf('/'+eng[k].toUpperCase()+'/')>0) {check++;}}kgoog[ku]=check;}
Ну теперь совсем другое дело. Бывает правда лишнюю картинку нажимает,но в этом и есть плюс,капча обновляется следовательно % распознавания стал гораздо выше (по крайней мере у меня).
А до этого бывало одну картинку не дожмет ("Выберите все совпадающие изображения"), и все....скрипт завис на этой капче. gnomic тебе "Respect"
Отредактировано dim222 (30-03-2016 20:26:46)
Отсутствует
gnomik
а зачем каждый раз применять .toUpperCase() к одной и той же переменной?
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
gnomik
А как можно прописать такую функцию : чтобы происходило обратное нажатие картинок перед повторной отправкой на распознавание в гугл.
...хотя наверное правильней будет "function rreload()" поставить , или я ошибаюсь?
Отредактировано dim222 (30-03-2016 21:39:08)
Отсутствует
можно много чего сократить,можешь подредактировать,я совсем даже не против,ты к примеру одно другой что то ещё ,так и сделается она оптимальная функция
интересно как, если вы удалили пост с обсуждаемой функцией...?
если я правильно предполагаю значения переменных
и
https://www.google.ru/search?newwindow=1&sa=G&hl=ru&tbm=isch&imgil=Rv5CcI5UFNyfBM%253A%253BqZ9Pj9m7uxKFuM%253Bhttp%25253A%25252F%25252Fwww.123rf.com%25252Fphoto_16492238_the-grand-massif-mountain-range-at-sixt-fer-a-cheval-france.html&source=iu&pf=m&tbs=simg:CAES2gEa1wELEKjU2AQaBAgBCAkMCxCwjKcIGmIKYAgDEiidFpQWmhaXFpUWmxaRFpge-RWcFv4qoyCTK_10qjTn_1KuUijDnkIpQ5GjAQKQQC4_1c3Wd5oZvVPOYebCZgncANCJbJkDHv25QCJpuLvs1D8fIZVPggt1Wy2yWwgAwwLEI6u_1ggaCgoICAESBLeenxcMCxCd7cEJGkMKCgoIbW91bnRhaW4KDAoKd2lsZGVybmVzcwoQCg5tb3VudGFpbiByYW5nZQoOCgxoaWxsIHN0YXRpb24KBQoDc2t5DA&fir=Rv5CcI5UFNyfBM%253A%252CqZ9Pj9m7uxKFuM%252C_&usg=__BwefiwNDl3isDxfanMZlTJsbsAE%3D&biw=1024&bih=634
eng
eng=['горы','mountain','mountains','mount-robson','matterhorn','mountaineering','darjeeling-nature','rock'];
var pre='(-|_|\/)',k=eng.join('|'); if(RegExp(pre+k+pre,'i').test(img)){check++;}; kgoog[ku]=check;
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
gnomik
Ну бывает что картинки распознались не верно ("Выберите все совпадающие изображения"), скрипт повторно их гоняет по гуглу, и потом опять их нажимает (а ведь они уже нажаты). И получается ,что он их как бы обратно "отжал". Следовательно опять "Выберите все совпадающие изображения". И так может долго продолжатся.
Да ты прав , функция у меня это есть. Буду разбираться.
Отредактировано dim222 (30-03-2016 22:01:46)
Отсутствует
а вот здесь да приходится прописывать эти фукции вернее повторять их к одной и тойже переменной
они вроде одинаковые но у них разный критерий поиска
как проверить их все разом (с учетом этих особенностей) - я уже написал выше, если требуется найти каждое слово в img и для каждого найденного - увеличить значение check на 1, чуть изменится способ проверки, но суть его останется - той же
Отредактировано InfSub (30-03-2016 22:11:39)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
gnomik
вы суть кода поняли?
у меня складывается впечатление - что нет, либо - я, не понимаю, что вы пытаетесь мне объяснить
код (пост 571) заменяет, написанный вами код (пост 565), выполняя все его функции (в моем понимании), т.е. увеличивает значение check (выполняет check++) в описанных вами ситуациях, а именно, когда найдено - одно из указанных в массиве eng слов, с учетом указанных префиксов и окончаний т.е. знаков "-", "_" и "/" в любой комбинации
т.е. для одного определенного значения img и одного конкретного массива eng - значение check останется прежним, в случае отсутствия хоть одного совпадения (с учетом префиксов и окончаний) или увеличится на единицу, в случае одного или более совпадений
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
да работает но получилось в результате когда я применял у себя вот такой код
скрытый текстВыделить кодКод:
for(k=0;k<eng.length;k++){ if(img.toUpperCase().indexOf(''+eng[k].toUpperCase()+'')>0) {check++;}}kgoog[ku]=check;}
ок, чуть исправил, чтобы не было срабатываний на слово без префиксов/суффиксов:
var pre='[-_/]',k=eng.join('|'); if(RegExp(pre+'('+k+')'+pre,'i').test(img)){check++;}; kgoog[ku]=check;
Отредактировано InfSub (31-03-2016 03:02:05)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
k=k+2
потеряли?
Добавлено 31-03-2016 13:52:56
translat();
rreload();
раз уж, вы ссылаетесь на данные функции, выложите их
Отредактировано InfSub (31-03-2016 13:52:56)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
я твоего вопроса по поводу этого вот k=k+2 вообще не понял,что ты этим хотел сказать
это не вопрос, а пример, как правильно заменить данную команду, т.к. код k=k+2 выполняет две операции, сложение и присвоение, а код k+=2; только одну - сложение
Добавлено 31-03-2016 15:40:31
gnomik
про var - это опять же, не вопрос, а описание ошибки, переменные - как в функции, так и вне ее, должны быть объявлены через var
Отредактировано InfSub (31-03-2016 15:40:31)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
gnomik
область видимости переменной, объявленной внутри функции - должна ограничиваться функцией, а не выходить во вне
судя по твоему коду, у тебя все наоборот, результатом может быть ошибка при использовании одноименной переменной вне функции, столкнешься - поймешь о чем я
не говоря уж, о том, про просто не правильно использовать global для хранения переменных
тыкать пальцем - не буду, ибо там треть кода переписывать придется
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub
вот по этому я и удалил посты с полным кодом что не попробовав начали писать что это всё не верно и не так ,в этой функции я только вставил твой вчерашний отрезок и всё и проверил его в работе,а так на этом варианте прохода по рекапче работает как минимум человек дватцать и не кто не когда не сказал что выдает ошибки или ещё что то,да и сам я вообще то перед тем как её выложить проверил её работу,ладно удалю тогда чтоб не вводить в заблуждение остальных как говорится,составил так как мог
Отсутствует
как минимум человек дватцать и не кто не когда не сказал что выдает ошибки
сам я вообще то перед тем как её выложить проверил её работу,ладно удалю тогда чтоб не вводить в заблуждение остальных как говорится,составил так как мог
речь не об этом, я указал вам на ошибки в программировании, дабы вы не допускали их в дальнейшем и почитали соответствующую литературу, а вы трете все свои посты, как ребенок, которого отругали за ошибки в сочинении, вместо того, чтобы прочесть, как правильно и исправить
Добавлено 31-03-2016 17:16:28
хотите пример ошибки?
var wkz=3; //какой-то код pgugle(); alert(wkz); // с чего бы эта переменная сменила значение с 3?
Отредактировано InfSub (31-03-2016 17:31:21)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
gnomik
Покрутил обновленный "function pgugle()" на сайте "paidbooks.com", результатом доволен. С предыдущим за прошлую ночь кое как 5к. набежало (при том ,что кран выдает 450 каждые 10 мин. на нашем IP),а сегодня, с обновленным,специально засек , за 4 часа около 10к. набежало. Но вот беда ,бывает пока в гугле идет поиск, капча к этому времени исчезает,и обратно уже ни как не хочет появляться.печалька
Отсутствует
Помогите. На сайте
раз вот так:
'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:3DlX7QHadbhIsL7u0JrXOPjaeOcb CONTENT='+bit);
'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:WAUH2xtbxm4OUvjeJWdIqesRg5mpB CONTENT='+bit);
Отсутствует
InfSub
вот это
грузит девять картинок на поисковик и проделывается девять раз ,это ты и сам знаешь а почему начинается не с нуля думаю если просмотришь всю функцию и прогонишь её хотябы целиком в работу то сам поймешь почему
а с этим то вообще смешно пояснять если честно
var wkz=3; //какой-то код pgugle(); alert(wkz); // с чего бы эта переменная сменила значение с 3?
это фрейм кнопки подтвердить на капче и он проделывается отдельно атакой и естественно устанавливает его по новой чтоб её нажать,так как пока гуглопоиск делается родной фрейм бывает блокируется и скрипт видет вроде кнопку и даже обозначет это но вот нажать уже не может,а так он в наглую забивает цыфровой фрейм и отвечает по капче
for(wkz=1; wkz<70; wkz++){ if(iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+wkz+'\nEVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0')>0)break;}
по этому я применил к его названию другой термин на всякий случай чтоб не пересекались потом так как на самом обновлении качи он может остаться нормальным
и вообще если только следовать стандартам то успехов будет мало
Отсутствует
грузит девять картинок на поисковик и проделывается девять раз ,это ты и сам знаешь
ты даже не понял о чем я...
если ты не заметил, то внутри цикла, в первом примере, вызов твоей функции, во втором примере - тоже, только без цикла
запиши в скрипт с функцией этот код, но не в саму функцию, а после или до, без разницы, и запусти, посмотри результат.. про второй пример, аналогично
т.е. как-то так:
function pgugle(){ //..... код твоей функции }; // вход на любой сайт где она будет работать for(k=1;k<10;k++){ pgugle(); alert('при правильном использовании var,\nэто сообщение появится 9 раз,\nэто '+k+' раз'); };
Отредактировано InfSub (31-03-2016 20:26:36)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
капча к этому времени исчезает,и обратно уже ни как не хочет появляться.печалька
Но это не означает что по ней кликнуть нельзя
Клики так же прекрасно будут проходить хотя она и скрыта стилями
gnomik
Отредактировано PRESIDENT (08-04-2016 00:21:18)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
PRESIDENT
чем тебя не устраивает вариант с попыткой его прочесть?, если ошибка, значит не существует (зависит, конечно от типа файла, этот способ прокатит, только с текстовыми файлами)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
гиф или пнг
проверяй по возвращаемой ошибке:
Error: Component returned failure code: 0x80500001 [nsIConverterInputStream.init], line 1 (Error code: -1001)
RuntimeError: Data source file does not exist, line 1 (Error code: -930)
Добавлено 31-03-2016 20:44:44
iimPlayCode('set !datasource c:\\test.PNG'); if(iimGetErrorText().indexOf('not exist')>-1){ alert('File not Exist'); }else{ alert('File Exist'); };
Отредактировано InfSub (31-03-2016 20:44:44)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует