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

alfaon

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

Sergodjan

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

alfaon

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

Phoenix78

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

76327


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

76328


76329


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

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

alfaon

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

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

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

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

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

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

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

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


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

Sergodjan

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

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

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
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 790
Благодарностей
5 689
Баллы
113

alfaon

Client
Регистрация
28.10.2016
Сообщения
12
Благодарностей
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
Сообщения
19 440
Благодарностей
8 672
Баллы
113
  • Спасибо
Реакции: kxk

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