Как решить такую капчу?

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
Нужно нажать на красный круг, как такое реализовать?
 

Вложения

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
А он всегда в одном месте или в разных? Он всегда красный? Меняется ли размеры круга, размеры всего блока?
Сделайте несколько фото, разных вариантов.
 

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
А он всегда в одном месте или в разных? Он всегда красный? Меняется ли размеры круга, размеры всего блока?
Сделайте несколько фото, разных вариантов.
Он может быть в разных местах в пределах желтого прямоугольника, но всегда одного размера и всегда красный, размеры блока тоже не меняются
 
Регистрация
07.08.2019
Сообщения
75
Благодарностей
78
Баллы
18
Можно взять картинку, и попиксельно разобрать, найти череду из 5-10 горизонтальных красных пикселей, потом найти их левую границу, и дальше уже по этим координатам кликать...

Может конечно есть элегантные способы, но я у себя так некоторые слайдер-капчи решал)
 
  • Спасибо
Реакции: zhekmans

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Попробуй поиграться с поиском по картинке, хотя я этим методом не пользуюсь. Ну и следовало бы другие картинки на сайте отключить. что бы облегчить поиск.
 
  • Спасибо
Реакции: zhekmans

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
А он всегда в одном месте или в разных? Он всегда красный? Меняется ли размеры круга, размеры всего блока?
Сделайте несколько фото, разных вариантов.
вот разные варианты
 

Вложения

  • Спасибо
Реакции: Mikhail B.
Регистрация
07.08.2019
Сообщения
75
Благодарностей
78
Баллы
18
  • Спасибо
Реакции: zhekmans

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 444
Благодарностей
1 287
Баллы
113
  • Спасибо
Реакции: zhekmans

Phoenix78

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

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
ПКМ по красному кружку на картинке и Поиск по картинке и думаю будет работать.
Супер! Срабатывает поиск по картинке! Спасибо! Осталась одна не решенная капча , как с такой бороться средствами зенки?
 

Вложения

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
Супер! Срабатывает поиск по картинке! Спасибо! Осталась одна не решенная капча , как с такой бороться средствами зенки?
Перебор не вариант - всегда жать 3? )
Или тот же поиск по картинке перебирать?
 

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
так это же профитцентр вроде... где то на форуме выкладывали целый пак модулей для этого ресурса.
Наверно в ветке капмонстра надо поискать....
Нужно средствами зенки решить, без км
 

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
Перебор не вариант - всегда жать 3? )
Или тот же поиск по картинке перебирать?
Всегда жать одну цифру не пойдет, за частое не правильное разгадывание капчи можно бан получить
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Нужно средствами зенки решить, без км
не надо путать кислое со сладким. У зенки свои задачи для выполнения, у капмонстра свои. Раз стоит задача в разпознавании капчи, то это задача из области OCR, а не автоматизации. Не нравится OCR под названием капмонстр, тогда подымай свою нейросеть, обучай ее. Еще можно на гитхабе посмотреть OCR какой нибудь, например OpenCV ( Emgu ) и прикрутить к зенке.
Вопрос только в знаниях да умении кодить. Всего то лишь :-)
 
  • Спасибо
Реакции: BAZAg

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
не надо путать кислое со сладким. У зенки свои задачи для выполнения, у капмонстра свои. Раз стоит задача в разпознавании капчи, то это задача из области OCR, а не автоматизации. Не нравится OCR под названием капмонстр, тогда подымай свою нейросеть, обучай ее. Еще можно на гитхабе посмотреть OCR какой нибудь, например OpenCV ( Emgu ) и прикрутить к зенке.
Вопрос только в знаниях да умении кодить. Всего то лишь :-)
Всего то лишь)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 409
Баллы
113
не надо путать кислое со сладким. У зенки свои задачи для выполнения, у капмонстра свои. Раз стоит задача в разпознавании капчи, то это задача из области OCR, а не автоматизации. Не нравится OCR под названием капмонстр, тогда подымай свою нейросеть, обучай ее. Еще можно на гитхабе посмотреть OCR какой нибудь, например OpenCV ( Emgu ) и прикрутить к зенке.
Вопрос только в знаниях да умении кодить. Всего то лишь :-)
Можно просто посчитать количество красных пикселей по горизонтали и по вертикали, для определения координат описанного (или вписанного в круг) прямоугольника - и уже тогда кликать в эту точку, определив прежде координаты самой каптчи относительно окна браузера.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Можно просто посчитать количество красных пикселей по горизонтали и по вертикали, для определения координат описанного (или вписанного в круг) прямоугольника - и уже тогда кликать в эту точку, определив прежде координаты самой каптчи относительно окна браузера.
да я то не против. пусть считает красные пиксели :-) так то, с той капчей он вроде разобрался с помощью простечкой OCR зенки
А я ему ответил про эту капчу, а не по красной жирной точке.
68466

насколько я знаю, эти звездочки не всегда вот так в линию стоят. могут и по вертикали пересекатся. Поэтому метод трассировки по горизонтали и по вертикали... ну в общем там есть где покодить и голову поломать.
Я хочу донести мысль, что в зенке из коробки нет инструментов для решения подобных задач. В любом случае надо кодить в C# и даже если знаешь как кодить то нафига изобретать велосипед если есть специализированные библиотеки ? Вот в OpenCV для этой капчи прям реально подойдет ее метод заливки и нахождения краев. тут даже без заливки будет работать.

А в капмонстре даже модуль обучать не надо по этим звездочкам, выгладывали уже обученный. Но автору не надо через капмонстр :-)
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 409
Баллы
113
да я то не против. пусть считает красные пиксели :-) так то, с той капчей он вроде разобрался с помощью простечкой OCR зенки
А я ему ответил про эту капчу, а не по красной жирной точке.
Посмотреть вложение 68466

насколько я знаю, эти звездочки не всегда вот так в линию стоят. могут и по вертикали пересекатся. Поэтому метод трассировки по горизонтали и по вертикали... ну в общем там есть где покодить и голову поломать.
Я хочу донести мысль, что в зенке из коробки нет инструментов для решения подобных задач. В любом случае надо кодить в C# и даже если знаешь как кодить то нафига изобретать велосипед если есть специализированные библиотеки ? Вот в OpenCV для этой капчи прям реально подойдет ее метод заливки и нахождения краев. тут даже без заливки будет работать.

А в капмонстре даже модуль обучать не надо по этим звездочкам, выгладывали уже обученный. Но автору не надо через капмонстр :-)
Просто считать пиксели для меня более очевидное решение, чем использовать OpenCV.
Хотя и уже пытался разобраться с этой библиотекой, не могу сказать что уверенно научился ею пользоваться.
Вот бы кто-то на конкурсе статей разобрал разные варианты распознавания образов с её помощью...

Также упустил момент что речь уже о другой каптче...

Я никаким образом не хотел задеть Вас своим сообщением и однозначно не считаю свои высказывания единственно правильным и верным решением - они не более чем ещё одна точка зрения в общую копилку знаний форума.
Если так случайно получилось - тогда прошу прощения.

А в капмонстре даже модуль обучать не надо по этим звездочкам, выгладывали уже обученный. Но автору не надо через капмонстр
Обычно те, кто пытаются крутить буксы изначально не имеют достаточно ресурсов на покупку капмонстра, и ищут решения, которые позволили бы решать проблему без дополнительных затрат. Возможно это один из таких случаев. Если бы мне сегодня нужно было решать эту каптчу (что первую, что вторую), то только ради них я не покупал бы капмонстр точно - а пытался бы как-то научиться распознавать их с помощью математики и C# (на изучение OpenCV у меня бы наверно ушло больше времени, чем высчитывать площади описанных прямоугольников или количество объектов по средним значениям пикселей).
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Я никаким образом не хотел задеть Вас своим сообщением и однозначно не считаю свои высказывания единственно правильным и верным решением - они не более чем ещё одна точка зрения в общую копилку знаний форума.
Если так случайно получилось - тогда прошу прощения.
Не за что извиняться. Это у меня стиль написания текста дерзко-хулиганский :-) не раз уже предупреждения и баны получал за это :-)
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 409
Баллы
113
Не за что извиняться. Это у меня стиль написания текста дерзко-хулиганский :-) не раз уже предупреждения и баны получал за это :-)
Я за собой начал замечать то же самое... Пытаюсь исправиться...
В любом случае даже со своим стилем написания мы внесли вклад в решение проблемы.
Хорошего дня!
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 657
Благодарностей
1 325
Баллы
113
Супер! Срабатывает поиск по картинке! Спасибо! Осталась одна не решенная капча , как с такой бороться средствами зенки?

C#:
string login = project.Variables["login"].Value;
string path = project.Directory + @"\captcha_serfing\" + login + ".png";
var image = new Bitmap(path);
int grey = 0;
int x, y;
for (x = 0; x < image.Width; x++)
{
   for (y = 0; y < image.Height; y++)
   {
     if (image.GetPixel(x, y).R == 117 && image.GetPixel(x, y).G == 117 && image.GetPixel(x, y).B == 117)
      {             
        grey++;
      }
   }
}
int res = grey/60;
project.Variables["ResultCaptcha"].Value = res.ToString().Trim();
image.Dispose();
return res.ToString();
 
  • Спасибо
Реакции: zhekmans

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
C#:
string login = project.Variables["login"].Value;
string path = project.Directory + @"\captcha_serfing\" + login + ".png";
var image = new Bitmap(path);
int grey = 0;
int x, y;
for (x = 0; x < image.Width; x++)
{
   for (y = 0; y < image.Height; y++)
   {
     if (image.GetPixel(x, y).R == 117 && image.GetPixel(x, y).G == 117 && image.GetPixel(x, y).B == 117)
      {            
        grey++;
      }
   }
}
int res = grey/60;
project.Variables["ResultCaptcha"].Value = res.ToString().Trim();
image.Dispose();
return res.ToString();
оригинально :-)
 
Регистрация
07.08.2019
Сообщения
75
Благодарностей
78
Баллы
18
Вот чуть обновленный код для звездочек, выше уже дали подобный, но я спал) Да и у моего чуть другая схема, и он вроде чуть быстрее будет...
Сам пользуюсь почти таким-же кодом в своих проектах, но у меня входные данные сразу в base64, поэтому обернуто в MemoryStream. (У меня там разные капчи и слайдер в виде кусочка пазла, но фон этого кусочка пазла всегда белый, поэтому это работает :D)
Не знаю как работает у автора, но решил не удалять MemoryStream и добавил метод конвертирования картинки с компа в base64.
Вчера еще предлагал красный круг искать по такому-же методу, находить его левые границы и дальше уже кликать.


C#:
using (MemoryStream ms = new MemoryStream())
{
    string base64 = Convert.ToBase64String(File.ReadAllBytes(@"C:\Profitcentr_60_captcha.png"));
    ms.Write(Convert.FromBase64String(base64), 0, Convert.FromBase64String(base64).Length);
    Bitmap myBitmap = new Bitmap(ms);
    int total = 0;
    bool l_counter = false;
    bool r_counter = false;

    for (int i = 0; i < myBitmap.Width; i++)
    {
        l_counter = r_counter;
        r_counter = false;

        for (int j = 0; j < myBitmap.Height; j++)
        {
            if ((myBitmap.GetPixel(i,j).R == 117) && (myBitmap.GetPixel(i,j).G == 117) && (myBitmap.GetPixel(i,j).B == 117))
            {
                r_counter = true;
                break;
            }
        }
     
        if ((!l_counter) && (r_counter)) total++;
    }
    myBitmap.Dispose();

    return total;
}
 
Последнее редактирование:
  • Спасибо
Реакции: Koqpe и zhekmans

zhekmans

Client
Регистрация
31.05.2019
Сообщения
211
Благодарностей
30
Баллы
28
Вот чуть обновленный код для звездочек, выше уже дали подобный, но я спал) Да и у моего чуть другая схема, и он вроде чуть быстрее будет...
Сам пользуюсь почти таким-же кодом в своих проектах, но у меня входные данные сразу в base64, поэтому обернуто в MemoryStream. (У меня там разные капчи и слайдер в виде кусочка пазла, но фон этого кусочка пазла всегда белый, поэтому это работает :D)
Не знаю как работает у автора, но решил не удалять MemoryStream и добавил метод конвертирования картинки с компа в base64.
Вчера еще предлагал красный круг искать по такому-же методу, находить его левые границы и дальше уже кликать.


C#:
using (MemoryStream ms = new MemoryStream())
{
    string base64 = Convert.ToBase64String(File.ReadAllBytes(@"C:\Profitcentr_60_captcha.png"));
    ms.Write(Convert.FromBase64String(base64), 0, Convert.FromBase64String(base64).Length);
    Bitmap myBitmap = new Bitmap(ms);
    int total = 0;
    bool l_counter = false;
    bool r_counter = false;

    for (int i = 0; i < myBitmap.Width; i++)
    {
        l_counter = r_counter;
        r_counter = false;

        for (int j = 0; j < myBitmap.Height; j++)
        {
            if ((myBitmap.GetPixel(i,j).R == 117) && (myBitmap.GetPixel(i,j).G == 117) && (myBitmap.GetPixel(i,j).B == 117))
            {
                r_counter = true;
                break;
            }
        }
    
        if ((!l_counter) && (r_counter)) total++;
    }
    myBitmap.Dispose();

    return total;
}
Ребята всем огромное спасибо за помощь! Оба предложенных варианта работают на ура!
 

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