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

  • Автор темы Автор темы zhekmans
  • Дата начала Дата начала

zhekmans

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

Вложения

  • 2020-12-07_201043.png
    2020-12-07_201043.png
    22,9 KB · Просмотры: 41
А он всегда в одном месте или в разных? Он всегда красный? Меняется ли размеры круга, размеры всего блока?
Сделайте несколько фото, разных вариантов.
 
А он всегда в одном месте или в разных? Он всегда красный? Меняется ли размеры круга, размеры всего блока?
Сделайте несколько фото, разных вариантов.
Он может быть в разных местах в пределах желтого прямоугольника, но всегда одного размера и всегда красный, размеры блока тоже не меняются
 
Можно взять картинку, и попиксельно разобрать, найти череду из 5-10 горизонтальных красных пикселей, потом найти их левую границу, и дальше уже по этим координатам кликать...

Может конечно есть элегантные способы, но я у себя так некоторые слайдер-капчи решал)
 
  • Оценить
Реакции: zhekmans
Попробуй поиграться с поиском по картинке, хотя я этим методом не пользуюсь. Ну и следовало бы другие картинки на сайте отключить. что бы облегчить поиск.
 
  • Оценить
Реакции: zhekmans
А он всегда в одном месте или в разных? Он всегда красный? Меняется ли размеры круга, размеры всего блока?
Сделайте несколько фото, разных вариантов.
вот разные варианты
 

Вложения

  • 2020-12-07_204249.png
    2020-12-07_204249.png
    308,9 KB · Просмотры: 39
  • Оценить
Реакции: Mikhail B.
  • Оценить
Реакции: zhekmans
  • Оценить
Реакции: zhekmans
так это же профитцентр вроде... где то на форуме выкладывали целый пак модулей для этого ресурса.
Наверно в ветке капмонстра надо поискать....
 
ПКМ по красному кружку на картинке и Поиск по картинке и думаю будет работать.
Супер! Срабатывает поиск по картинке! Спасибо! Осталась одна не решенная капча , как с такой бороться средствами зенки?
 

Вложения

  • 2020-12-07_210118.png
    2020-12-07_210118.png
    17,9 KB · Просмотры: 49
  • 2020-12-07_220826.png
    2020-12-07_220826.png
    86,4 KB · Просмотры: 46
Супер! Срабатывает поиск по картинке! Спасибо! Осталась одна не решенная капча , как с такой бороться средствами зенки?
Перебор не вариант - всегда жать 3? )
Или тот же поиск по картинке перебирать?
 
так это же профитцентр вроде... где то на форуме выкладывали целый пак модулей для этого ресурса.
Наверно в ветке капмонстра надо поискать....
Нужно средствами зенки решить, без км
 
Перебор не вариант - всегда жать 3? )
Или тот же поиск по картинке перебирать?
Всегда жать одну цифру не пойдет, за частое не правильное разгадывание капчи можно бан получить
 
Нужно средствами зенки решить, без км
не надо путать кислое со сладким. У зенки свои задачи для выполнения, у капмонстра свои. Раз стоит задача в разпознавании капчи, то это задача из области OCR, а не автоматизации. Не нравится OCR под названием капмонстр, тогда подымай свою нейросеть, обучай ее. Еще можно на гитхабе посмотреть OCR какой нибудь, например OpenCV ( Emgu ) и прикрутить к зенке.
Вопрос только в знаниях да умении кодить. Всего то лишь :)
 
  • Оценить
Реакции: BAZAg
не надо путать кислое со сладким. У зенки свои задачи для выполнения, у капмонстра свои. Раз стоит задача в разпознавании капчи, то это задача из области OCR, а не автоматизации. Не нравится OCR под названием капмонстр, тогда подымай свою нейросеть, обучай ее. Еще можно на гитхабе посмотреть OCR какой нибудь, например OpenCV ( Emgu ) и прикрутить к зенке.
Вопрос только в знаниях да умении кодить. Всего то лишь :-)
Всего то лишь)
 
не надо путать кислое со сладким. У зенки свои задачи для выполнения, у капмонстра свои. Раз стоит задача в разпознавании капчи, то это задача из области OCR, а не автоматизации. Не нравится OCR под названием капмонстр, тогда подымай свою нейросеть, обучай ее. Еще можно на гитхабе посмотреть OCR какой нибудь, например OpenCV ( Emgu ) и прикрутить к зенке.
Вопрос только в знаниях да умении кодить. Всего то лишь :-)
Можно просто посчитать количество красных пикселей по горизонтали и по вертикали, для определения координат описанного (или вписанного в круг) прямоугольника - и уже тогда кликать в эту точку, определив прежде координаты самой каптчи относительно окна браузера.
 
Можно просто посчитать количество красных пикселей по горизонтали и по вертикали, для определения координат описанного (или вписанного в круг) прямоугольника - и уже тогда кликать в эту точку, определив прежде координаты самой каптчи относительно окна браузера.
да я то не против. пусть считает красные пиксели :) так то, с той капчей он вроде разобрался с помощью простечкой OCR зенки
А я ему ответил про эту капчу, а не по красной жирной точке.
68466

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

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

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

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

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

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

А в капмонстре даже модуль обучать не надо по этим звездочкам, выгладывали уже обученный. Но автору не надо через капмонстр
Обычно те, кто пытаются крутить буксы изначально не имеют достаточно ресурсов на покупку капмонстра, и ищут решения, которые позволили бы решать проблему без дополнительных затрат. Возможно это один из таких случаев. Если бы мне сегодня нужно было решать эту каптчу (что первую, что вторую), то только ради них я не покупал бы капмонстр точно - а пытался бы как-то научиться распознавать их с помощью математики и C# (на изучение OpenCV у меня бы наверно ушло больше времени, чем высчитывать площади описанных прямоугольников или количество объектов по средним значениям пикселей).
 
Последнее редактирование:
Я никаким образом не хотел задеть Вас своим сообщением и однозначно не считаю свои высказывания единственно правильным и верным решением - они не более чем ещё одна точка зрения в общую копилку знаний форума.
Если так случайно получилось - тогда прошу прощения.
Не за что извиняться. Это у меня стиль написания текста дерзко-хулиганский :) не раз уже предупреждения и баны получал за это :)
 
  • Оценить
Реакции: BAZAg
Не за что извиняться. Это у меня стиль написания текста дерзко-хулиганский :-) не раз уже предупреждения и баны получал за это :-)
Я за собой начал замечать то же самое... Пытаюсь исправиться...
В любом случае даже со своим стилем написания мы внесли вклад в решение проблемы.
Хорошего дня!
 
Супер! Срабатывает поиск по картинке! Спасибо! Осталась одна не решенная капча , как с такой бороться средствами зенки?


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
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();
оригинально :)
 
Вот чуть обновленный код для звездочек, выше уже дали подобный, но я спал) Да и у моего чуть другая схема, и он вроде чуть быстрее будет...
Сам пользуюсь почти таким-же кодом в своих проектах, но у меня входные данные сразу в 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
Вот чуть обновленный код для звездочек, выше уже дали подобный, но я спал) Да и у моего чуть другая схема, и он вроде чуть быстрее будет...
Сам пользуюсь почти таким-же кодом в своих проектах, но у меня входные данные сразу в 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;
}
Ребята всем огромное спасибо за помощь! Оба предложенных варианта работают на ура!
 

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