Усовершенствование recapcha v2
-
Значит проблема не в самом алгоритме, а в том, что нужный алгоритм для рукапчи еще не прикрутили?
Прикрутили. Модуль понимает как координаты, так и номера картинок.
Я вот сегодня сделал еще 3 попытки распознания капчи на рукапче и все зафейлились.
Какое сообщение об ошибке?
Если модуль не решает капчу, то это очень большая проблема. Вы можете сказать как ее воспроизвести, и я сразу займусь ей.
-
[16:04:17] Thread #1 : Thread failed with message "Too many fails solve recaptcha 2"
хотя вроде все ок, кликнула по обьектам как нужно
-
Модуль позволяет ограничить количество попыток, которое тратится на решение каждой капчи. По умолчанию оно выставлено в 1. Тоесть, если с первой попытки решить не удалось - выводится именно такая ошибка.
Если до этого несколько раз капча была решена неверно с этого ип, то гугл требует нескольких решений. Соответственно у вас все попытки заканчиваются этой ошибкой.
Увеличить количество попыток можно в этом поле:
-
Тут видно что есть захват "лишнего кусочка", из-за чего сбиваются координаты и прилодение промахивается по кнопке подтвердить
Тут он промахнулся на пикселов 20 но скрин я сделал тогда. когда он нажимал на кнопку за фоном.
-
Пробовали увеличить размер браузера(высота самое главное), вот так:
-
Хм, теперь действительно все хорошо, с разрешением 1440х900 все 3\3 раз капча решилась. Однако все равно инвалиды с рукапчи 100% случаев модерируют не в пользу вебмастеров. Спасибо.
-
В новой версии исправлена куча недочетов:
- Не нужно больше увеличивать размер браузера чтобы картинка правильно отрендерилась. Исключение составляют сайты, капча вылазит в слое поверх элементов окна. Например на сайте http://answers.com.
- Скрипт не промахивается при клике на перезагрузку капчи.
- Если работник промазал или кликнул на кнопку "Verify", то этот клик не учитывается.
Так что пробиваемость заметно возросла.
-
Поздравляю, действительно ни одного промаха на 20 капчах, которые я успел проверить. Ну только одно, разве что:
Если гугл дает капчу, где нужно кликать пока картинки не исчезнут, то в 70% случаев эта капча провалится, так как необходимо чтобы она в 100% случаев решилась со второй попытки (человек с сервиса решает правильно картинку один раз, клик - проверьте новые картинки - человек решает с сервиса второй раз, клик и если после этого клика загрузится еще одна целевая картинка то это гарантированный пролет на 2 капчи).
Может добавить в capctha2_code.js строку такого типа?:var F = document.getElementsByClassName('rc-imageselect-desc-no-canonical')[0].innerHTML;
if(F.indexOf('verify')>15) { // 1
// продолжать разгадку
} else {
// кликнуть на "Обновить" или использовать алгоритм "решение рекапчи без эмуляции браузера"
}Этот код я набросал на быструю руку там, где я пометил строку 1 придумать что-то по-универсальней, так как ваш проект мультиязычный.
Плюс гугл хитрая штука, и когда я в своем проекте так делал он мне начал тупо заливать капчу исключительно неудачного типа(либо он все таки заподозрил, что я ботовод), по-этому при встрече такого типа капчи я использовал на рукапче "решение рекапчи без эмуляции браузера", так как оно стоит в три раза дешевле, чем заливать кучу картинок.
Надеюсь, я не капаю на мозги.
-
Может добавить в capctha2_code.js строку такого типа?:
Я не хочу этого делать, именно по тому, что вы сами написали.
когда я в своем проекте так делал он мне начал тупо заливать капчу исключительно неудачного типа(либо он все таки заподозрил, что я ботовод)
Я тоже заметил, что гугл очень часто повторяет один и тот же метод несколько раз подряд.
Расходы к минимуму сводит либо установка максимального числа попыток в 1, либо наличие хороших гугл акков, тогда затраты вообще не нужны.
или использовать алгоритм "решение рекапчи без эмуляции браузера"
Как по мне, использование альтернативного апи от рукапчи после того, как попытка решить капчу уже была, только увеличивает затраты. Почему бы тогда не решать капчу целиком через этот апи?
Я кстати подумаю над тем, чтобы реализовать это, но в отдельном действии.
Но там есть свои недостатки, например, невозможность использовать прокси.