Решение математической капчи

alfaon

Client
Регистрация
28.10.2016
Сообщения
13
Благодарностей
2
Баллы
3
Всем привет, помогите пжл, не могу никак нормально выцепить картинку с капчей, постоянно получаю:
Выполнение действия распознавания капчи Некорректная капча
Для вот этого сервиса: https://sinoni.men/
Пробовал ее определить стандартным способом (пр. кнопка на картинке - это капча!)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 549
Благодарностей
10 094
Баллы
113
@alfaon Как получить каптчу?
Зарегистрировался, никакой каптчи не было.
 

alfaon

Client
Регистрация
28.10.2016
Сообщения
13
Благодарностей
2
Баллы
3

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113
там есть ссылка в элементе, можно тупо получать картинку по спарсенной ссылке

76327


а можно открыть ссылку в отдельном окне и получить все элементы по отдельности, а так же можно удалить эту линию над буквами

76328


76329


единственное я заметил что там элементы в svg могут меняться местами. ну это надо чекать их расположение на странице через полученные элементы .

или же после удаления линии, сразу скринить и отсылать куда надо.
 
  • Спасибо
Реакции: alfaon

alfaon

Client
Регистрация
28.10.2016
Сообщения
13
Благодарностей
2
Баллы
3
там есть ссылка в элементе, можно тупо получать картинку по спарсенной ссылке

Посмотреть вложение 76327

а можно открыть ссылку в отдельном окне и получить все элементы по отдельности, а так же можно удалить эту линию над буквами

Посмотреть вложение 76328

Посмотреть вложение 76329

единственное я заметил что там элементы в svg могут меняться местами. ну это надо чекать их расположение на странице через полученные элементы .

или же после удаления линии, сразу скринить и отсылать куда надо.
Если ссылку открыть в новой вкладке, то капча перезагружается

И у меня почему-то не получается ее сохранить как изображение, получаю такие ошибки, сохраняю по ссылке стандартной функцией
e030d04ffe.jpg


Сорри, за возможно тупые вопросы.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 549
Благодарностей
10 094
Баллы
113
Не нужна регистрация, попробуйте разлогиниться и вставить текст, она появится во здесь:
Попробуйте так создать действие, не на img, а на вышестоящем span.

76332
 
  • Спасибо
Реакции: alfaon

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113
держи. модуль для отправки только пропиши какой надо.
C#:
//-------- входные параметры поиска капчи ---------------------------------------------------//
string xpath_1 = @"//span[@class='svg-captcha']/img[@class='svg-captcha-img']";
string modul_cap = @"MonkeyEnter.dll"; // CapMonster2.dll
//------------------------------------------------------------------------------------------------//
HtmlElement he = instance.ActiveTab.FindElementByXPath(xpath_1, 0);
if (he.IsVoid) throw new Exception();
//// захват изображения ///////////////////////////////////////////////////////////////////
int left = Convert.ToInt32(he.GetAttribute("leftInBrowser")); //Получаем координату элемента по left
int top = Convert.ToInt32(he.GetAttribute("topInBrowser")); //Получаем координату элемента по top
long unixTime = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds; //Получаем UnixTime в миллисекундах
string captchapath = project.Directory + @"\Temp\" + unixTime + ".jpg"; // путь к картинке
ZennoPoster.ImageProcessingCropFromScreenshot(instance.Port, captchapath, left, top, he.Width, he.Height, "pixel");  //Делаем скриншот по координатам элемента и сохраняем
System.Threading.Thread.Sleep(1000); //Небольшая пауза, чтобы система успела сохранить файл
string b64strcaptcha = Convert.ToBase64String(System.IO.File.ReadAllBytes(captchapath));
System.IO.File.Delete(captchapath);
// Отправить на распознавание
string recognition = ZennoPoster.CaptchaRecognition(modul_cap,b64strcaptcha, "");
// обработка ответа
var regexGroups = Macros.TextProcessing.Regex(recognition, @".*(?=-\|-)", "0");
if (regexGroups.Count != 0) recognition = regexGroups[0].FirstOrDefault();
// возвращаем результат   
return recognition;
 
  • Спасибо
Реакции: Sergodjan и alfaon

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113

alfaon

Client
Регистрация
28.10.2016
Сообщения
13
Благодарностей
2
Баллы
3
держи. модуль для отправки только пропиши какой надо.
C#:
//-------- входные параметры поиска капчи ---------------------------------------------------//
string xpath_1 = @"//span[@class='svg-captcha']/img[@class='svg-captcha-img']";
string modul_cap = @"MonkeyEnter.dll"; // CapMonster2.dll
//------------------------------------------------------------------------------------------------//
HtmlElement he = instance.ActiveTab.FindElementByXPath(xpath_1, 0);
if (he.IsVoid) throw new Exception();
//// захват изображения ///////////////////////////////////////////////////////////////////
int left = Convert.ToInt32(he.GetAttribute("leftInBrowser")); //Получаем координату элемента по left
int top = Convert.ToInt32(he.GetAttribute("topInBrowser")); //Получаем координату элемента по top
long unixTime = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalMilliseconds; //Получаем UnixTime в миллисекундах
string captchapath = project.Directory + @"\Temp\" + unixTime + ".jpg"; // путь к картинке
ZennoPoster.ImageProcessingCropFromScreenshot(instance.Port, captchapath, left, top, he.Width, he.Height, "pixel");  //Делаем скриншот по координатам элемента и сохраняем
System.Threading.Thread.Sleep(1000); //Небольшая пауза, чтобы система успела сохранить файл
string b64strcaptcha = Convert.ToBase64String(System.IO.File.ReadAllBytes(captchapath));
System.IO.File.Delete(captchapath);
// Отправить на распознавание
string recognition = ZennoPoster.CaptchaRecognition(modul_cap,b64strcaptcha, "");
// обработка ответа
var regexGroups = Macros.TextProcessing.Regex(recognition, @".*(?=-\|-)", "0");
if (regexGroups.Count != 0) recognition = regexGroups[0].FirstOrDefault();
// возвращаем результат  
return recognition;
Спасибо, все работает!
Буду теперь знать, как это делается
 
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 549
Благодарностей
10 094
Баллы
113
  • Спасибо
Реакции: kxk

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